On Thu, Feb 08, 2007 at 10:49:46AM +0000, Neil Mitchell wrote: > Wouldn't a definition such as: > > data Proxy a > > Achieve the same effect? In Haskell 98, newtype Proxy a = Proxy (Proxy a) or data Proxy a = Proxy !(Proxy a) yield one-point types.