Composites are the building blocks of segments. Composites may be either a primitive data type (string, number, etc.), or may be made up of other composites. Composites cannot have a recursive reference to themselves.