code: func (e Unknown) MarshalJSON() ([]byte, error) {
  	// If ContentType is unset, we assume this is JSON.
  	if e.ContentType != "" && e.ContentType != ContentTypeJSON {
  		return nil, errors.New("runtime.Unknown: MarshalJSON on non-json data")
  	}
  	if e.Raw == nil {
  		return []byte("null"), nil
  	}
  	return e.Raw, nil
  }
docs: // Marshal may get called on pointers or values, so implement MarshalJSON on value.
  // http://stackoverflow.com/questions/21390979/custom-marshaljson-never-gets-called-in-go