docs: def permission_set(self, name, func=None):
          """Define a new permission set (directly, or as a decorator).
  
          E.g.::
  
              @authz.permission_set('HTTP')
              def is_http_perm(perm):
                  return perm.startswith('http.')
  
          """
          if func is None:
              return functools.partial(self.predicate, name)
          self.permission_sets[name] = func
          return func