public virtual ReturnType VisitArrayTypeExpr(AstArrayTypeExpr type, DataType data = default) => default;
public override string VisitArrayTypeExpr(AstArrayTypeExpr type, int data = 0) { return($"[{type.SizeExpr.Accept(this)}]{type.Target.Accept(this)}"); }