code: function allPropertiesOf(object) {
    function go(object) {
      const proto = prototypeOf(object);
  
      return proto       ?  propertiesOf(object).concat(go(proto))
      :      /* else */     propertiesOf(object);
    }
  
    return Array.from(new Set(go(object)));
  }
docs: /*~
  Returns an array of property names in an object.
  ---
  complexity: O(number of enumberable properties)