code: def consumer(func):
      
      @wraps(func)
      def wrapper(*args, **kwargs):
          gen = func(*args, **kwargs)
          next(gen)
          return gen
      return wrapper
docs: Decorator that automatically advances a PEP-342-style "reverse iterator"
      to its first yield point so you don't have to call ``next()`` on it
      manually.
  
          >>> @consumer
          ... def tally():
          ...     i = 0
          ...     while True:
          ...         print('Thing number %s is %s.' % (i, (yield)))
          ...         i += 1
          ...
          >>> t = tally()
          >>> t.send('red')
          Thing number 0 is red.
          >>> t.send('fish')
          Thing number 1 is fish.
  
      Without the decorator, you would have to call ``next(t)`` before
      ``t.send()`` could be used.