# Documentation

newtype T v a Source

A reader monad for the special purpose
of defining instances of certain operations on tuples and records.
It does not add any new functionality to the common Reader monad,
but it restricts the functions to the required ones
and exports them from one module.
That is you do not have to import
both Control.Monad.Trans.Reader and Control.Applicative.
The type also tells the user, for what the Reader monad is used.
We can more easily replace or extend the implementation when needed.

run4 :: T (x, y, z, w) a -> x -> y -> z -> w -> aSource

run5 :: T (x, y, z, u, w) a -> x -> y -> z -> u -> w -> aSource