code: func (c *Context) export() map[string]interface{} {
  	m := map[string]interface{}{}
  	if c.outer != nil {
  		for k, v := range c.outer.export() {
  			m[k] = v
  		}
  	}
  	for k, v := range c.data {
  		m[k] = v
  	}
  
  	return m
  }
docs: // Export all the known values in the context.
  // Note this can't reach up into other implemenations
  // of context.Context.