protected XNode Visit(CSharpSubpattern node) { return(node switch { PositionalCSharpSubpattern p => Visit(p), PropertyCSharpSubpattern p => Visit(p), _ => throw ContractUtils.Unreachable, });
protected internal virtual PropertyCSharpSubpattern VisitPropertySubpattern(PropertyCSharpSubpattern node) => node.Update( VisitPattern(node.Pattern) );