Miscellaneous type-system utilities that are too small to deserve their own modules.
Returns a list of types such that the given type needs drop if and only if
any of the returned types need drop. Returns
this type always needs drop.
Normalizes all opaque types in the given value, replacing them with their underlying types.