Massive overhaul.  Get rid of the plain monad, leaving only the transformer.  Require base monad to be a PrimMonad