On Tue, Nov 15, 2011 at 08:34:01AM +0000, Malcolm Wallace wrote: > > On 14 Nov 2011, at 22:09, Simon Peyton-Jones wrote: > > > Trouble is, what type does this have? > > > > f x = x {} > > f :: a -> a That wouldn't help the original poster, as it is incompatible with f :: Foo Clean -> Foo Dirty Thanks Ian