Fix down IO as the monad type for (almost) all ops