code: func (c *Category) Patch(src *Category) {
  	if src.Name != "" {
  		c.Name = src.Name
  	}
  	if src.Description != "" {
  		c.Description = src.Description
  	}
  	if src.Cardinality != "" {
  		c.Cardinality = src.Cardinality
  	}
  	// Note that in order to append to AssociableTypes any existing types must be included in their original order.
  	for _, kind := range src.AssociableTypes {
  		if !c.hasType(kind) {
  			c.AssociableTypes = append(c.AssociableTypes, kind)
  		}
  	}
  }
docs: // Patch merges Category changes from the given src.
  // AssociableTypes can only be appended to and cannot shrink.