data List a = Nil | Cons a (List a) build :: (forall l. l -> (a -> l -> l) -> l) -> List a build f = f Nil Cons main = build (\nil cons -> cons (1 :: Integer) (Cons (2 :: Integer) nil)) // ^^^^ -- 7:48-7:73: Expected got . 7:69-7:72: Expected got .