@type interface Type<#a, #b|#c, #d|#e, #f> { create () -> (optional #x) create2<#y> #y requires #x #y allows T2 #y defines T3 () -> (optional #x) }