code: function() {
      if (this._done) {
        throw new Error('Iterator already reached the end');
      }
  
      if (!this._keys) {
        this._keys = Object.keys(this._obj);
        this._index = 0;
      }
  
      var key = this._keys[this._index];
      this._done = this._index === this._keys.length;
      this._index += 1;
  
      return {
        value: this._done ? void 0: [key, this._obj[key]],
        done: this._done
      };
    }
docs: special marker