data Foo a = Foo a f :: Foo a -> a f = \Foo a -> a main = "Not to be executed" -- 3:1-3:2: Possible problem: type declaration has 1 parameter types, but function definition has 2 parameters. 4:6-4:11: Arity is 1 but 2 patterns have been given. -- import "Prelude" f :: Integer -> Integer -> Integer f x = do print x x main = "Not to be executed" -- 3:1-3:2: Possible problem: type declaration has 2 parameter types, but function definition has 1 parameters. 5:5-5:12: No side-effects allowed here. 6:5-6:6: Expected Integer> got .