docs: def reducer(*tokens):
      """Decorator for reduction methods.
  
      Arguments are a sequence of tokens, which should trigger running
      this reduction method.
      """
  
      def wrapper(func):
          # Make sure that we have a list of reducer sequences
          if not hasattr(func, 'reducers'):
              func.reducers = []
  
          # Add the token to the list of reducer sequences
          func.reducers.append(list(tokens))
  
          return func
  
      return wrapper