T4099.hs:11:14: Couldn't match type `T b' with `T a0' NB: `T' is a type function, and may not be injective In the first argument of `foo', namely `x' In the expression: foo x In an equation for `bar1': bar1 x = foo x T4099.hs:14:14: Couldn't match type `T a1' with `Maybe b' In the first argument of `foo', namely `x' In the expression: foo x In an equation for `bar2': bar2 x = foo x