I have a model in which I can have different setups. There are in principle 2x2 combinations. Let’s say models can be A1, A2, B1, B2.
I now have types that are specialized for each type. Some function behaviour, however, is common to A-models, whereas other function behave the same for 1-models. For some a specialized method for A1, A2, etc. is necessary.
Is it possible to define types with multiple supertypes? For example, A1 <: A, but also A1 <: 1. If that is not possible, what kind of design pattern would you suggest?