Union types are very similar to interfaces, but they don't get to specify any common fields between the types. The __typename field resolves to a String which lets you differentiate different data types from each other on the client.
__typename