T15795.hs:12:3: error: • Cannot generalise type; skolem ‘k’ would escape its scope if I tried to quantify (a0 :: k) in this type: forall k (b :: k). T @k @a0 b (Indeed, I sometimes struggle even printing this correctly, due to its ill-scoped nature.) • In the definition of data constructor ‘MkT’ In the data declaration for ‘T’