This system still uses linear specialization, it just adds a pattern of delegation that sort of makes it able to go horizontal instead of just vertical, if that makes sense. I’m a little confused by how to use it in my case, since it may prove to be too complicated as it scales beyond a diamond shape.
So it still uses the additive specialization, but you can kind of turn it on its side. (I’ll explain with letters instead of Clone and Default)
You can get 0, A, B, or A +B.
Basically, he splits up A and B, and adds 1 constraint to each to get all 4 combinations.
So the specialization is like
0 and 0 + A.
B and B + A.
A + B
A + 0 B
So like red75prime said, that T is 0, the blanket statement, default, nothing, whatever you want to call it.
I’ve found that you can keep adding sideways constraints this way, or vertical constraints, but it creates an unusual hierarchy of possibilities that I haven’t mapped out yet, but would most likely be unorthodox to reason with in practice. It seems it would have overlapping cases where it could go either vertical or horizontal. I haven’t gotten very far with that yet, and have no idea what I’m doing.
I also have at least another idea in the works that I may be able to use to get specialization branching that also uses delegation. Still haven’t worked on it yet.