Module type Applicative_intf.S

module type S = sig .. end

type 'a t 
val return : 'a -> 'a t
val apply : ('a -> 'b) t ->
'a t -> 'b t
val map : 'a t -> f:('a -> 'b) -> 'b t
val map2 : 'a t ->
'b t -> f:('a -> 'b -> 'c) -> 'c t
val map3 : 'a t ->
'b t ->
'c t ->
f:('a -> 'b -> 'c -> 'd) -> 'd t
val all : 'a t list -> 'a list t
val both : 'a t ->
'b t -> ('a * 'b) t
module Applicative_infix: sig .. end
include Applicative_intf.S.Applicative_infix