@value interface Base<|#x> {} @value interface Value<#x|#y|#z> { refines Base<#self> call () -> (#self) } concrete Child1 { refines Value @value call () -> (#self) } concrete Child2 { refines Value @value call () -> (all) }