code: func (rc *RequestContext) UnmarshalJSON(data []byte) error {
  	var jrc jsonRequestContext
  	if err := json.Unmarshal(data, &jrc); err != nil {
  		return err
  	}
  
  	*rc = *(*RequestContext)(jrc.requestContextAlias)
  	rc.Authorizer = jrc.Authorizer
  
  	return nil
  }
docs: // UnmarshalJSON interprets data as a RequestContext with a special authorizer.
  // It then leverages type aliasing and struct embedding to fill RequestContext
  // with an usual map[string]string.