@value interface Object1<#x|> { } @type interface Object2<#z> { } concrete Object3<#y|> { // Despite matching variance with Object1, Object2 turns it into invariant. defines Object2> }