Map, Set and Hashtables
What are exact functions required for distinct data containers?
Afterr all, what collections are in Base and Core?
| Base | Core | Stdlib | Kind | Requiring | Comment | 
|---|---|---|---|---|---|
| Applicative | / | functor | baselib | ||
| Array | Array | Array | std | ||
| Avltree | / | low-level | |||
| Backtrace | Printexc.raw_backtrace | system | |||
| Binary_search | / | interface | |||
| Binary_searchable | / | functor | |||
| Blit | Blit | / | std | bit-block transfer | |
| Bool | Bool | Bool | std | ||
| Buffer | Buffer | std | |||
| Bytes | Bytes | Bytes | std | ||
| Char | Char | Char | std | ||
| Comparable | / | functor | |||
| Comparator | / | functor | |||
| Comparisons | / | interface | |||
| Container | Container_intf | / | functor | ||
| Either | Either | Either | std | ||
| Equal | / | interface | |||
| Error | Error | / | std | ||
| Exn | exn | std | |||
| Export | / | wrap | undoc | ||
| Field | / | std | |||
| Float | Float | Float | std | ||
| Floatable | / | interface | |||
| Fn | / | std | |||
| Formatter | Formatter | std | |||
| Hash | / | std | hash primitives | ||
| Hash_set | Hash_set | / | container | compare, sexp_of, hash | |
| Hashable | Hashable | / | interface | module trait | |
| Hasher | / | interface | just tandhash_fold_t | ||
| Hashtbl | Hashtbl | container | compare, sexp_of, hash | ||
| Identifiable | Identifiable | / | functor | ||
| Indexed_container | Indexed_container | / | interface | ||
| Info | Info | / | std | ||
| Int | Int | Int | std | ||
| Int32 | Int32 | Int32 | std | ||
| Int63 | Int63 | / | std | ||
| Int64 | Int64 | Int64 | std | ||
| Int_conversions | / | std | |||
| Intable | / | interface | |||
| Int_math | / | functor | |||
| Invariant | / | interface | |||
| Lazy | Lazy | Lazy | std | ||
| Linked_queue | Linked_queue | Queue  | container | ||
| List | List | container | |||
| Map | Map | Map | container | compare, sexp_of | balanced binary tree over a totally-ordered domain | 
| Maybe_bound | Maybe_bound | / | std | ||
| Monad | / | functor | |||
| Nativeint | Nativeint | / | std | ||
| Nothing | Nothing | / | std | ||
| Option | Option | Option | std | ||
| Option_array | Option_array | / | std | ||
| Or_error | Or_error | / | std | a specialization of the Resulttype | |
| Ordered_collection_common | Ordered_collection_common | / | trait | ||
| Ordering | Ordering | / | std | ||
| Poly | Stdlib | std | |||
| Pretty_printer | / | std | for use in toplevels | ||
| Printf | Printf | Printf | std | ||
| Queue | Queue | Queue | std | A queue implemented with an array | |
| Random | Random | std | |||
| Ref | Ref | 'a ref | std | ||
| Result | Result | Result | std | ||
| Sequence | Sequence | Seq | std | ||
| Set | Set | Set | std | Sets based on Comparator.S | |
| Sexp | Sexp | / | std | ||
| Sexpable | Sexpable | / | functor | ||
| Sign | Sign | / | std | ||
| Sign_or_nan | Sign_or_nan | / | std | ||
| Source_code_position | Source_code_position | / | std | ||
| Stack | Stack | Stack | std | ||
| Staged | / | std | |||
| String | String | String | std | ||
| Stringable | Stringable | / | interface | ||
| Sys | Sys | Sys | std | ||
| T | / | interface | |||
| Type_equal | Type_equal | / | std | to represent type equalities that the type checker otherwise would not know | |
| Uniform_array | Uniform_array | / | std | guaranteed that the representation array is not tagged with Double_array_tag | |
| Unit | Unit | unit | std | ||
| Uchar | / | std | |||
| Variant | / | std | used in [@@deriving variants] | ||
| With_return | / | std | |||
| Word_size | / | std | |||
| Base_internalhash_types | / | std | base.base_internalhash_typeslib | ||
| Md5_lib | / | std | base.md5lib | ||
| Arg | Stdlib.Arg | std | corelib;Commandmodule is generally recommended over this | ||
| Bag | / | container | |||
| Bigbuffer | / | std | Extensible string buffers based on Bigstrings | ||
| Bigstring | / | std | Stringtype based onBigarray | ||
| Bigsubstring | / | std | Substringtype based onBigarray | ||
| Bin_prot | / | interface | |||
| Binable | / | functor | |||
| Blang | / | std | |||
| Bounded_index  | / | std | unique index types with explicit bounds and human-readable labels | ||
| Byte_units | / | std | |||
| Command | / | std | |||
| Container | / | interface | |||
| Core_stable | / | std | |||
| Date | / | std | |||
| Day_of_week | / | std | |||
| Debug | / | std | |||
| Deque | / | container | |||
| Doubly_linked | / | container | |||
| Fdeque | / | container | |||
| Filename | / | std | |||
| Float_with_finite_only_serialization | / | std | |||
| Fqueue | / | container | |||
| Gc | Gc | std | |||
| Hash_queue | / | container | |||
| Heap_block | / | std | Core.heap_blocklib | ||
| Hexdump | / | std | |||
| Host_and_port | / | std | |||
| Immediate_option | / | std | |||
| In_channel | / | std | Stdio.In_channel | ||
| Interfaces | / | std | |||
| Md5 | / | std | |||
| Month | / | std | |||
| Mutex | / | std | |||
| Only_in_test | / | std | |||
| Optional_syntax | / | std | provided by ppx_optional | ||
| Out_channel | / | std | Stdio.Out_channel | ||
| Percent | / | std | |||
| Perms | / | std | |||
| Pid | / | std | |||
| Printexc | Printexc | std | |||
| Quickcheck | / | std | |||
| Quickcheckable | / | std | |||
| Robustly_comparable | / | std | |||
| Set_once | / | std | |||
| Sexp_maybe | / | std | Sexp.Sexp_maybe | ||
| Signal | / | std | |||
| Splittable_random | / | std | |||
| Stable_comparable | / | std | |||
| Stable_unit_test | / | std | |||
| Substring | / | std | |||
| Thread | / | std | |||
| Time_float | / | std | |||
| Time_ns | / | std | |||
| Tuple | / | std | |||
| union_find | / | container | |||
| Unit_of_time | / | std | |||
| Univ_map | / | container | |||
| Validate | / | std | |||
| Weak | / | std |