Preemption a haskell thread inside a Transaction