Remove unused dep
Remove unused modules
Add promise-aware Transaction monad
Add atomically() for running a function inside a Transaction monad. Only supports a single datasource at the moment, and uses a shared queue, so needs some improvement
Fix typo