tcfail198.hs:6:36: error: • Couldn't match expected type ‘a1’ with actual type ‘a’ ‘a1’ is a rigid type variable bound by an expression type signature: forall a1. a1 at tcfail198.hs:6:41 ‘a’ is a rigid type variable bound by the inferred type of f3 :: [a] -> [a] at tcfail198.hs:6:1-44 • In the expression: x :: a In the second argument of ‘(++)’, namely ‘[x :: a]’ In the expression: xs ++ [x :: a] • Relevant bindings include xs :: [a] (bound at tcfail198.hs:6:21) x :: a (bound at tcfail198.hs:6:19) f3 :: [a] -> [a] (bound at tcfail198.hs:6:6)