@value interface Value0 {} @value interface Value1 { refines Value0 } @value interface Value2 { refines Value1 } @value interface Value3 { refines Value0 } @value interface Value4<#x|#y> {} @type interface Type0<#x|#y> {} @value interface Inherit1 { refines Value4 } @value interface Inherit2 { refines Value4 } concrete Test { refines Value0 refines Value1 refines Value2 // -> Value1 -> Value0 refines Value3 // -> Value0 refines Inherit1 refines Inherit2 }