In Scalaz Kleisli[F, A, B] è un wrapper per A => F[B]. ReaderT[F, A, B] - reader monad transformer - è solo uno pseudonimo di Kleisli[F, A, B]. Reader[A, B] monade è una specializzazione di ReaderT co
Ho un po 'di codice che sembra un po' come questo, ignorando tutto il codice che non è rilevante per la mia domanda: import qualified Control.Monad.Reader as Reader
data FooEnv = FooEnv { bar :: Int