@value interface Type<#a,#b|#c,#d|#e,#f> { refines Parent refines Other,#f> get () -> (#x) set (#x) -> () something<#y> #y requires T1 #y allows T2 #y defines T3 (#y) -> (#y) }