Vectorise a type constructor. Unless there is a vectorised version (stripped of embedded parallel arrays), the vectorised version is the same as the original.
Produce the vectorised and lifted versions of a type.
NB: Here we are limited to properly handle predicates at the toplevel only. Anything embedded
in what is called the
body_ty below will end up as an argument to the type family