, , , .
. , this, - endo , .
, , , , , F(A) => (A -> A) , , , .. A -> B A -> A A -> B, B -> B A -> B, B -> B A -> A .
. , this . , C C . . , - , ! , C C:
, A A -> B, , - B: , aka 'fmap` Haskell.
A, , : monad "unit", a.k.a. return Haskell.
, A, A B, , B . , a.k.a. (>>=) Haskell.
Haskell ", ", "Reader Monad" do , , - , this .
, ... , , , , .