Reader writer state (Work In Progress)

(just for comment)
I'm unsure about this, I've changed some based in the actual values of the monad (i.e. outer is the outermost value and inner the inermost). Still not convinced by it and I'm open to suggestions. I'm going to do some research on the terminology used in Haskell and I'll get back to this, which is by no means finished.