Module type Comonad.WITH_EXTEND

Minimal definition using extract and extend.

type 'a t

The type held by the Comonad.

val extract : 'a t -> 'a

Extract a 'a from t. Dual of return.

val extend : ('a t -> 'b) -> 'a t -> 'b t

Dual of bind.