tcfail174.hs:13:13: Inferred type is less polymorphic than expected Quantified type variable `a' escapes When matching `forall a. a -> a' and `forall a. a -> a1' Expected type: Capture (forall x. x -> a) Inferred type: Capture (forall a2. a2 -> a2) In the first argument of `Capture', namely `g' tcfail174.hs:16:13: Couldn't match expected type `b' (a rigid variable) against inferred type `a' (a rigid variable) `b' is bound by the type signature for `h2' at tcfail174.hs:15:14 When matching `forall a. a -> a' and `forall a. a -> b' Expected type: Capture (forall x. x -> b) Inferred type: Capture (forall a1. a1 -> a1) In the first argument of `Capture', namely `g'