MonadReader successfully hiding exection context

The introduction of the MonadReader has significantly simplified our
instructions, and although certain elements are still fuzzy, namely
the construction of this stack of monads which at this point
incorporates ReaderT ErrorT Identity, I can definitely see the strength
of introducing monads into an application as a means of layering in
functionality!