| > > 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
Ah! *That* is why I said it was awkward. Thanks Ian.
Simon