`fmap` over functions as function composition
`fmap` in partially applied functions
- Computation type: Computations which read values from a shared environment. - Binding strategy: Monad values are functions from the environment to a value. The bound function is applied to the bound value, and both have access to the shared environment. - Useful for: Maintaining variable bindings, or other shared environment. https://wiki.haskell.org/All_About_Monads#The_Reader_monad
Functor, Applicative and Monad instances for `Reader`