code: function isAccessorDescriptor(desc) {
    return !!desc && (isFunction(desc.get) || isFunction(desc.set)) && isBoolean(desc.configurable) && isBoolean(desc.enumerable) && desc.writable === undefined;
  }
docs: to check if the descirptor is an accessor descriptor
  @param {descriptor} desc it should be a descriptor better