3 Inferred type is less polymorphic than expected
4 Quantified type variable `x' escapes
5 It unifies with `x1', which is mentioned in the environment
6 The following variables in the environment mention `x1'
7 When checking the type signature
8 setX :: forall x2. x2 -> X x1 -> X x1
9 In the definition for method `setX'
11 Compilation had errors