code: func (c *BoxComponent) UnmarshalJSON(data []byte) error {
  	type alias BoxComponent
  	raw := struct {
  		Contents []rawFlexComponent `json:"contents"`
  		*alias
  	}{
  		alias: (*alias)(c),
  	}
  	if err := json.Unmarshal(data, &raw); err != nil {
  		return err
  	}
  	components := make([]FlexComponent, len(raw.Contents))
  	for i, content := range raw.Contents {
  		components[i] = content.Component
  	}
  	c.Contents = components
  	return nil
  }
docs: // UnmarshalJSON method for BoxComponent