Functor Applicative.Make2

module Make2: 
functor (A : Basic2) -> S2 with type ('p, 'a) t := ('p, 'a) A.t
Parameters:
A : Basic2

type ('_, '_) t 
include Applicative.Basic2
include Functor.S2
val ap' : ('p, 'a -> 'b) t ->
('p, 'a) t -> ('p, 'b) t
val (<*>) : ('p, 'a -> 'b) t ->
('p, 'a) t -> ('p, 'b) t
val (<~>) : ('p, 'a -> 'b) t ->
(unit -> ('p, 'a) t) -> ('p, 'b) t
val discard_left : ('p, 'a) t ->
(unit -> ('p, 'b) t) -> ('p, 'b) t
val discard_right : ('p, 'a) t ->
(unit -> ('p, 'b) t) -> ('p, 'a) t
val repeat : int -> ('p, 'a) t -> ('p, 'a list) t
val repeat_ : int -> ('p, 'a) t -> ('p, unit) t
val forever : ('p, 'a) t -> ('p, 'b) t