type Foo = Bar type Bar = Integer main = 1 :: Foo -- 1 -- type Bar = Integer type Foo = Bar main = 1 :: Foo -- 1 -- type Foo = Foo main = 1 :: Foo -- 1:1-1:15: Type alias has a self reference. -- type Foo = Bar type Bar = Foo main = 1 :: Foo -- 1:1-1:15: Recursively defined type alias (Foo, Bar).