promiseT Monad Transformer: lifts any monad to operate on promises