@type interface Object1<|#x> { } concrete Object2<#y|> { defines Object1<#y> }