Map, WeakMap, and Set implemented in JavaScript