static ValueTypes ConstantType(Racr.AstNode n) { var val = n.GetValue(); if (val is bool) return ValueTypes.Boolean; if (val is double) return ValueTypes.Number; if (val is string) return ValueTypes.String; return ValueTypes.ErrorType; }
static object ConstantValue(Racr.AstNode n) { return n.GetValue(); }
static object OrdinaryQuestionValue(Racr.AstNode n) { return n.GetValue(); }