docs: def relationship_descriptor(action, *names):
      """
      Wrap a function for modification of a relationship.  This allows for
      specific handling for serialization and deserialization.
  
      :param action: The RelationshipActions that this descriptor performs
      :param names: A list of names of the relationships this references
      """
      if isinstance(action, RelationshipActions):
          action = [action]
  
      def wrapped(fn):
          if not hasattr(fn, '__jsonapi_action__'):
              fn.__jsonapi_action__ = set()
              fn.__jsonapi_desc_for_rels__ = set()
          fn.__jsonapi_desc_for_rels__ |= set(names)
          fn.__jsonapi_action__ |= set(action)
          return fn
  
      return wrapped