Module WithKeyMetaUnit.Key

Key-related types and operations for an HMap

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