@value interface Type1<#x|> {} @value interface Type2<#x|> { // arg: contravariant * contravariant * contravariant = contravariant // return: contravariant * contravariant = covariant something (Type1>) -> (Type1<#x>) } @type interface Type3<#x|> { // arg: contravariant * contravariant * contravariant = contravariant // return: contravariant * contravariant = covariant something (Type1>) -> (Type1<#x>) }