code: function forEachDesc(obj, fn) {
  
      var names = Object.getOwnPropertyNames(obj);
  
      for (var i$0 = 0; i$0 < names.length; ++i$0)
          fn(names[i$0], Object.getOwnPropertyDescriptor(obj, names[i$0]));
  
      names = Object.getOwnPropertySymbols(obj);
  
      for (var i$1 = 0; i$1 < names.length; ++i$1)
          fn(names[i$1], Object.getOwnPropertyDescriptor(obj, names[i$1]));
  
      return obj;
  }
docs: Iterates over the descriptors for each own property of an object