Re: http://repetae.net/recent/out/classalias.html Prelude> :set -XConstraintKinds Prelude> class C a; class D a; type E a = (C a, D a); instance E a => C (Maybe a) https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/constraint-kind.html - J.W.