A well-known pattern in dependency and inclusion is when a class A inherits from class X and class B also inherits from class X, but class C inherits from both A and B and thus gets to see double of each of X’s elements. The problem is solved differently in different programming and modelling languages—in grammars, it causes an ambiguity.
All rights reserved (c) Tushar Sharma 2017-23.