docs: function (callback /*, ...thisArg*/) {
        if (typeof callback !== 'function') {
          missingFunction(callback);
        }
  
        if (this.size === 0) {
          return;
        }
  
        var length = arguments.length;
        var map = this;
        var cb, thisArg;
  
        if (length === 2) {
          thisArg = arguments[1];
          cb = function (key) {
            callback.call(thisArg, map.get(key), key, map);
          };
        } else {
          cb = function (key) {
            callback(map.get(key), key, map);
          };
        }
  
        this._keys.forEach(cb);
      }