public override T accept <T>(AstVisitor <T> v) => v.visitIndex(this);
public override T accept <T, A>(AstVisitor <T, A> v, A arg) => v.visitIndex(this, arg);
public override T accept <T>(AstVisitor <T> v) => v.visitIndex(this);
public override T accept <T, A>(AstVisitor <T, A> v, A arg) => v.visitIndex(this, arg);