type keyMeta('a)
= unit
;
let create: keyMeta('a) => keyImpl('a);
Creates a keyImpl (an actual map key) for the given key metadata
let keyMeta: keyImpl('a) => keyMeta('a);
Extracts the key metadata from a keyImpl (an actual map key)
type t
;The abstract type of our map key
let hideType: keyImpl('a) => t;
Wraps the type-aware keyImpl('a) into the abstract key type
let eq: t => t => bool;
Checks if two keys are equal
let compare: t => t => int;
Compares two keys