Module type Applicative_without_return.S2_without_let_syntax

type ('a, 'e) t
include S3_without_let_syntax with type ('a, _, 'e) t := ('a'e) t
type ('a, 'd, 'e) t
val apply : ('a -> 'b'd'e) t -> ('a'd'e) t -> ('b'd'e) t
val map : ('a'd'e) t -> f:('a -> 'b) -> ('b'd'e) t
val map2 : ('a'd'e) t -> ('b'd'e) t -> f:('a -> 'b -> 'c) -> ('c'd'e) t
val map3 : ('a'd'e) t -> ('b'd'e) t -> ('c'd'e) t -> f:('a -> 'b -> 'c -> 'f) -> ('f'd'e) t
val both : ('a'd'e) t -> ('b'd'e) t -> ('a * 'b'd'e) t
module Applicative_infix : sig ... end
include module type of Applicative_infix
val (<*>) : ('a -> 'b'd'e) t -> ('a'd'e) t -> ('b'd'e) t
val (>>|) : ('a'd'e) t -> ('a -> 'b) -> ('b'd'e) t