internal abstract void Accept(PatternNodeVisitor visitor);
internal override void Accept(PatternNodeVisitor visitor) => visitor.VisitMatch(this);
internal override void Accept(PatternNodeVisitor visitor) => visitor.VisitSequence(this);
internal override void Accept(PatternNodeVisitor visitor) => visitor.VisitVariable(this);
internal override void Accept(PatternNodeVisitor visitor) => visitor.VisitOptional(this);