A variant is a shape from a sealed trait resolving to a fixed number of implementing case classes.
A variant is a shape from a sealed trait resolving to a fixed number of implementing case classes.
the trait type
the sub types. This must be Vec[Type]
and cannot be Vec[Shape]
because it is the circuit
breaker point for self referential structures.