code: def coroutine(func):
      
      @wraps(func)
      def start(*args, **kwargs):
          g = func(*args, **kwargs)
          next(g)
          return g
  
      return start
docs: Decorator for priming generator-based coroutines.