Factory that returns a Union subclass with typed fields.
Object mapping field names to types
Optional
Factory that returns a Union subclass with typed fields.