One odd problem: The paper on async exception defines: safePoint = unblock (return ()) but this simply does not work in my testing. Ever. Even using {-# NOINLINE safePoint #-} or "-Onot" By comparision, this does work: safepoint = unblock (print "safe") So how can such a safePoint be written? -- Chris