tcfail032.hs:14:8: Could not deduce (t ~ (a1 -> Int)) from the context (Eq a) bound by the inferred type of f :: Eq a => t -> a -> Int at tcfail032.hs:14:1-31 or from (Eq a1) bound by an expression type signature: Eq a1 => a1 -> Int at tcfail032.hs:14:8-30 `t' is a rigid type variable bound by the inferred type of f :: Eq a => t -> a -> Int at tcfail032.hs:14:1 In the expression: (x :: Eq a => a -> Int) In an equation for `f': f x = (x :: Eq a => a -> Int)