On 11 March 2011 12:04, Bas van Dijk <v.dijk.bas at gmail.com> wrote: > Unfortunately foo still doesn't type check in 7.0.2: > > foo :: (forall s. ST s a) -> a > foo st = ($) runST st Note that the following does type check with ImpredicativeTypes: bar = id runST Bas