:6:49: Couldn't match expected type ‛ListableElem (a, a)’ with actual type ‛a’ ‛a’ is a rigid type variable bound by the instance declaration at :6:10 Relevant bindings include asList :: (a, a) -> [ListableElem (a, a)] (bound at :6:33) a :: a (bound at :6:41) b :: a (bound at :6:43) In the expression: a In the expression: [a, b] In an equation for ‛asList’: asList (a, b) = [a, b]