T11010.hs:9:34: error: • Couldn't match type ‘a1’ with ‘Int’ Expected: a -> b Actual: a1 -> b ‘a1’ is a rigid type variable bound by a pattern with constructor: Fun :: forall a b. String -> (a -> b) -> Expr a -> Expr b, in a pattern synonym declaration at T11010.hs:9:26-36 • In the declaration for pattern synonym ‘IntFun’ • Relevant bindings include x :: Expr a1 (bound at T11010.hs:9:36) f :: a1 -> b (bound at T11010.hs:9:34) | 9 | pattern IntFun str f x = Fun str f x | ^