tcfail032.hs:14: Inferred type is less polymorphic than expected Quantified type variable `a' escapes It is mentioned in the environment The following variables in the environment mention `a' x :: a -> Int Signature type: forall a. (Eq a) => a -> Int Type to generalise: a -> Int When checking an expression type signature In an expression with a type signature: x :: forall a. (Eq a) => a -> Int