> In that case you need an existential type (not Haskell 98), which GHC > and Hugs support thus: > > data Row a = forall f. Formula f => Row (f a, Weight) And incidentally, nhc98 also supports this particular extension with this syntax. (Hbc supports it too, but with a slightly different syntax.) Regards, Malcolm