12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182moduletypeS=sigtypekeyand(+'a)tvalempty:'atvalis_empty:'at->boolvalmem:'at->key->boolvaladd:'at->key->'a->'atvalupdate:'at->key->f:('aoption->'aoption)->'atvalsingleton:key->'a->'atvalremove:'at->key->'atvaladd_multi:'alistt->key->'a->'alisttvalmerge:'at->'bt->f:(key->'aoption->'boption->'coption)->'ctvalunion:'at->'at->f:(key->'a->'a->'aoption)->'at(** [superpose a b] is [b] augmented with bindings of [a] that are
not in [b]. *)valsuperpose:'at->'at->'atvalcompare:'at->'at->compare:('a->'a->Ordering.t)->Ordering.tvalequal:'at->'at->equal:('a->'a->bool)->boolvaliter:'at->f:('a->unit)->unitvaliteri:'at->f:(key->'a->unit)->unitvalfold:'at->init:'b->f:('a->'b->'b)->'bvalfoldi:'at->init:'b->f:(key->'a->'b->'b)->'bvalfor_all:'at->f:('a->bool)->boolvalfor_alli:'at->f:(key->'a->bool)->boolvalexists:'at->f:('a->bool)->boolvalexistsi:'at->f:(key->'a->bool)->boolvalfilter:'at->f:('a->bool)->'atvalfilteri:'at->f:(key->'a->bool)->'atvalpartition:'at->f:('a->bool)->'at*'atvalpartitioni:'at->f:(key->'a->bool)->'at*'atvalcardinal:'at->intvalto_list:'at->(key*'a)listvalof_list:(key*'a)list->('at,key*'a*'a)Result.tvalof_list_map:'alist->f:('a->key*'b)->('bt,key*'a*'a)Result.tvalof_list_exn:(key*'a)list->'atvalof_list_multi:(key*'a)list->'alisttvalof_list_reduce:(key*'a)list->f:('a->'a->'a)->'atvalkeys:'at->keylistvalvalues:'at->'alistvalmin_binding:'at->(key*'a)optionvalmax_binding:'at->(key*'a)optionvalchoose:'at->(key*'a)optionvalsplit:'at->key->'at*'aoption*'atvalfind:'at->key->'aoptionvalfind_exn:'at->key->'avalmap:'at->f:('a->'b)->'btvalmapi:'at->f:(key->'a->'b)->'btvalfilter_map:'at->f:('a->'boption)->'btvalfilter_mapi:'at->f:(key->'a->'boption)->'btend