@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) }