Given some MonadIO m, interpret all Embed m actions in that monad
at once. This is useful for interpreting effects like databases, which use
their own monad for describing actions.
This function creates a thread, and so should be compiled with -threaded.