The type system is still sound, since the variance must respect the manifest type,
and the problem is mitigated by the fact the parameter cannot become bivariant,
but when used with objects or polymorphic variants as index, this may still break
the intended semantics for phantom types.