data List a = Nil | Cons a (List a) data Foo = Foo main = Foo `Cons` (Foo `Cons` Nil) -- (Cons Foo (Cons Foo Nil))