[Haskell-cafe] unsafeInterleaveIO respecting order of actions