code: func (m *DeserializedManifestList) UnmarshalJSON(b []byte) error {
  	m.canonical = make([]byte, len(b))
  	// store manifest list in canonical
  	copy(m.canonical, b)
  
  	// Unmarshal canonical JSON into ManifestList object
  	var manifestList ManifestList
  	if err := json.Unmarshal(m.canonical, &manifestList); err != nil {
  		return err
  	}
  
  	m.ManifestList = manifestList
  
  	return nil
  }
docs: // UnmarshalJSON populates a new ManifestList struct from JSON data.