Reflect one of types

Still WIP need to think of a better way to distinguish between one of
and single type values