code: func (c *Context) New() *Context {
  	cc := NewContext()
  	cc.outer = c
  	return cc
  }
docs: // New context containing the current context. Values set on the new context
  // will not be set onto the original context, however, the original context's
  // values will be available to the new context.