Better inheritance conformance check check for diagrams like below. Part of issue #SCL-5337
A extends B extends C
B extends C
C extends D

A -> D should check both path [A, B, C, D] and [A, C, D], because inferred generic type can be different.