{-# LANGUAGE TypeFamilies, ConstraintKinds #-} module Foo where import GHC.Exts f :: F [a] => a -> Bool f x = x == x type family F a :: Constraint type instance F [a] = (Show a, (Show a, (Show a, (Show a, (Show a, Show a, (Show a, (Show a, (Show a, (Show a, Eq a)))))))))