code: func (c *Context) WithCancel() *Context {
  	child, cancel := context.WithCancel(c.context)
  	return &Context{
  		context: child,
  		cancel:  cancel,
  	}
  }
docs: // WithCancel returns a copy of the original context with cancellation mechanism
  // included.
  //
  // Canceling this context releases resources associated with it, so code should
  // call cancel as soon as the operations running in this Context complete.