tcfail076.hs:18: Inferred type is less polymorphic than expected Quantified type variable `res' escapes It is mentioned in the environment The following variables in the environment mention `res' cont :: a -> m res Signature type: forall res. (a1 -> m1 res) -> m1 res Type to generalise: (b -> m res) -> m res When checking an expression type signature In the first argument of `KContT', namely `(\ cont' -> cont a)' In the right-hand side of a lambda abstraction: KContT (\ cont' -> cont a) Compilation had errors