is it possible to write something like this in haskell? type family NthFront (n :: Nat) (xs :: Vec Type n) type instance NthFront Zero Nil = forall (a :: Type) (b :: Type). a -> b