Parameters
Y : Stdlib.Map.OrderedType
Z : Stdlib.Map.OrderedType
Signature
type 'a decompose_fun
= 'a -> (Y.t * 'a list) option
type t
val empty : t
type pattern
val pattern : 'a decompose_fun -> 'a -> pattern
val add : t -> pattern -> Z.t -> t
val rmv : t -> pattern -> Z.t -> t
type 'tree lookup_fun
= 'tree -> (Y.t * 'tree list) lookup_res
val lookup : t -> 'term lookup_fun -> 'term -> Z.t list