Generate methods for Union types

Also some minor preparation for when we make Boxed types (Structs and
Unions) ManagedPtrs.