--Testing for proper name printing in complex error messages (a previous bug) :set -XTypeFamilies :set -XFlexibleInstances import Data.Kind (Type) class Listable t where ; type ListableElem t :: Type; asList :: t -> [ListableElem t] instance Listable (a,a) where ; asList (a,b) = [a,b] instance Listable (a,a) where ; type ListableElem (a,a) = a ; asList (a,b) = [a,b] asList ("as","df")