Module type Apply.WITH_MAP_AND_PRODUCT

Minimal interface using map and product.

type 'a t

The type held by the Apply.

include Indexed_functor.WITH_MAP with type ('a, 'index) t := 'a t
val map : ('a -> 'b) -> 'a t -> 'b t

Mapping over t from 'a to 'b.

include Indexed_apply.WITH_PRODUCT with type ('a, 'index) t := 'a t
val product : 'a t -> 'b t -> ('a * 'b) t

Monoidal product between two t.