Module type Applicative_without_return.S2

type ('a, 'e) t
include Applicative_without_return__.Applicative_without_return_intf.S3 with type ('a, _, 'e) t := ('a'e) t
include Applicative_without_return__.Applicative_without_return_intf.S3_without_let_syntax
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
module Let_syntax : sig ... end