module Function: sig
.. end
type ('a, 'b)
poly = 'a -> 'b
val instantiate : ?label:string * (unit -> 'a) option ->
'a Type.t -> 'b Type.t -> ('a -> 'b) Type.t * bool
Possibility to add a label for the parameter.
~label:(p,None)
for a mandatory labeled parameter p
;
~label:(p,Some f)
for an optional labeled parameter p
,
with default value f ()
.
val is_instance_of : 'a Type.t -> bool
val get_instance : ('a -> 'b) Type.t -> 'a Type.t * 'b Type.t * string option
val get_optional_argument : ('a -> 'b) Type.t -> (unit -> 'a) option