> > import IO > > class Foo a where > bar :: a -> [a] > > instance Foo Int where > bar x = replicate x x > > data Record = R { > blub :: Foo a => a -> [a] > } > > main = do > let r = R {blub = bar} > > --print (bar (3::Int)) -- works! > print ((blub r) (3::Int)) -- fails!