What to use interface or union?

Why not combine Thing and Member into a single interface if every type that implements one of them always implements the other? This is true with the schema you provided, but maybe you have more schema than provided.

To get the API you desire, you may have to relax some of the required ! fields and combine the interfaces together.