T15743d.hs:10:1: error: • The kind of ‘T2’ is ill-scoped Inferred kind: T2 :: forall (d :: k). forall k (c :: k) (a :: Proxy c) (b :: Proxy d) -> SimilarKind a b -> * NB: Specified variables (namely: (d :: k)) always come first Perhaps try this order instead: k (d :: k) (c :: k) (a :: Proxy c) (b :: Proxy d) (x :: SimilarKind a b) • In the data type declaration for ‘T2’