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 ** SLPJ: I HATE THE 'unifies with' PART **
7 The following variables in the environment mention `x1'
8 ** AND NOTHING MENTIONED! **
9 When checking the type signature
10 setX :: forall x2. x2 -> X x1 -> X x1
11 In the definition for method `setX'
13 Compilation had errors