Это просто совпадение, что Kleisli, ReaderT и Reader одинаковы в Scalaz
В Скалазе
Kleisli[F, A, B]
это обертка дляA => F[B]
.ReaderT[F, A, B]
- читатель монад трансформатор - это просто псевдонимKleisli[F, A, B]
.Reader[A, B]
Монада является специализациейReaderT
с монадой личностиId
:type Reader[A, B] = ReaderT[Id, A, B]
.Это просто совпадение или есть какие-тоГлубже причины, по которымKleisli
, ReaderT
, а такжеReader
изоморфны в Скалазе?