tcfail065.hs:29:18: error: • Couldn't match type ‘x1’ with ‘x’ ‘x1’ is a rigid type variable bound by the type signature for: setX :: forall x1. x1 -> X x -> X x at tcfail065.hs:29:3-6 ‘x’ is a rigid type variable bound by the instance declaration at tcfail065.hs:28:10-19 Expected type: X x Actual type: X x1 • In the expression: X x In an equation for ‘setX’: setX x (X _) = X x In the instance declaration for ‘HasX (X x)’ • Relevant bindings include x :: x1 (bound at tcfail065.hs:29:8) setX :: x1 -> X x -> X x (bound at tcfail065.hs:29:3)