Updatable one-shot timer polled with STM (Haskell)