lib/reflect.js
function(target) {
    var handler = directProxies.get(target);
    if (handler !== undefined) {
      return handler.ownKeys(handler.target);
    }

    var result = Reflect.getOwnPropertyNames(target);
    var l = +result.length;
    var idx = 0;
    return {
      next: function() {
        if (idx === l) throw StopIteration;
        return result[idx++];
      }
    };
  }
function(target) {
    var handler = directProxies.get(target);
    if (handler !== undefined) {
      return handler.ownKeys(handler.target);
    }

    var result = Reflect.getOwnPropertyNames(target);
    var l = +result.length;
    var idx = 0;
    return {
      next: function() {
        if (idx === l) throw StopIteration;
        return result[idx++];
      }
    };
  }
imperfect ownKeys implemenation: in ES6, should also include symbol-keyed properties.