sig
  val nil : ('a, 'b) Misc.plist
  val cons : 'a -> 'b -> ('a, 'b) Misc.plist -> ('a, 'b) Misc.plist
  val rev_append :
    ('a, 'b) Misc.plist -> ('a, 'b) Misc.plist -> ('a, 'b) Misc.plist
  val for_all : ('a -> 'b -> bool) -> ('a, 'b) Misc.plist -> bool
  val exists : ('a -> 'b -> bool) -> ('a, 'b) Misc.plist -> bool
  val fold : ('a -> 'b -> 'c -> 'c) -> ('a, 'b) Misc.plist -> 'c -> 'c
  val fold_val : ('b -> 'c -> 'c) -> ('a, 'b) Misc.plist -> 'c -> 'c
  val lifted_fold :
    ('a -> 'b -> 'c -> 'c option) -> ('a, 'b) Misc.plist -> 'c -> 'c option
  val iter : ('a -> 'b -> unit) -> ('a, 'b) Misc.plist -> unit
  val iter_val : ('b -> unit) -> ('a, 'b) Misc.plist -> unit
  val length : ('a, 'b) Misc.plist -> int
  val filter :
    ('a -> 'b -> bool) -> ('a, 'b) Misc.plist -> ('a, 'b) Misc.plist
  val rev_partition :
    ('a -> 'b -> bool) ->
    ('a, 'b) Misc.plist -> ('a, 'b) Misc.plist * ('a, 'b) Misc.plist
  val map_val : ('b -> 'b) -> ('a, 'b) Misc.plist -> ('a, 'b) Misc.plist
  val mem_assq : 'a -> ('a, 'b) Misc.plist -> bool
  val assq : 'a -> ('a, 'b) Misc.plist -> 'b
  val try_assq : 'a -> ('a, 'b) Misc.plist -> 'b option
  val remove_assq : 'a -> ('a, 'b) Misc.plist -> ('a, 'b) Misc.plist
  val findq : ('a, 'b) Misc.plist -> 'b -> 'a -> 'b
  val merge :
    ('a -> 'a -> int) ->
    ('a, 'b) Misc.plist -> ('a, 'b) Misc.plist -> ('a, 'b) Misc.plist
  val get_first : ('a -> 'b -> 'c option) -> ('a, 'b) Misc.plist -> 'c option
  val combine : 'a list -> 'b list -> ('a, 'b) Misc.plist
  val common :
    ('a -> 'b -> 'a -> 'b -> int) ->
    ('a, 'b) Misc.plist ->
    ('a, 'b) Misc.plist ->
    ('a, 'b) Misc.plist * ('a, 'b) Misc.plist * ('a, 'b) Misc.plist
end