sig
module type S =
sig
type param
type result
val extend : (Hook.S.param -> Hook.S.result) -> unit
val apply : Hook.S.param -> Hook.S.result
val is_empty : unit -> bool
val clear : unit -> unit
val length : unit -> int
end
module type Iter_hook =
sig
type param
type result = unit
val extend : (param -> result) -> unit
val apply : param -> result
val is_empty : unit -> bool
val clear : unit -> unit
val length : unit -> int
end
module Build :
functor (P : sig type t end) ->
sig
type param = P.t
type result = unit
val extend : (param -> result) -> unit
val apply : param -> result
val is_empty : unit -> bool
val clear : unit -> unit
val length : unit -> int
end
module Make :
functor (X : sig end) ->
sig
type param = unit
type result = unit
val extend : (param -> result) -> unit
val apply : param -> result
val is_empty : unit -> bool
val clear : unit -> unit
val length : unit -> int
end
module Fold :
functor (P : sig type t end) ->
sig
type param = P.t
type result = P.t
val extend : (param -> result) -> unit
val apply : param -> result
val is_empty : unit -> bool
val clear : unit -> unit
val length : unit -> int
end
end