Hello,

It seems there are three different ways to declare an empty type in Haskell.

http://www.haskell.org/haskellwiki/Empty_type

1) data E0 = E0

2) newtype Void = Void Void

3) data Void

I'd like to know how the second trick works. Is it possible to create a new type from itself? How should I interpret this?

Thanks,
Kwang Yul Seo