pull out streams
type_of
don't explode when reflecting on structs with private fields
U is Unique and doesn't unify with anything