1 2 3 4 5 6 7 8 9 10 11 12
{-# LANGUAGE OverloadedRecordDot #-} module T19521 where data Foo = Foo { val :: Int, fun :: Int -> Int } apply :: Foo -> Int apply foo = foo.fun foo.val