code: function EnumMap(iter) {
      var p = {};
      priv.set(this, p);
      var newIter = iter;
      if(iter && typeof iter.entries === 'function') {
        if (iter instanceof EnumSet) {
          newIter = {
            entries: function() {
              var pi = priv.get(iter);
              return new Iterator(pi.sequence.sequence, 0);
            }
          };
        }
      }
      p.sequence = new Sequence(newIter);
    }
docs: This is our poly-filled Map, which we can enumerate using Sequence