static ValueTypes UseType(Racr.AstNode n) { return n.GLookup(n.GetName()).Type(); }
static Racr.AstNode ElementFindActive(Racr.AstNode n, string name) { var current = n.GLookup(name); while (!current.IsActive()) current = current.GLookup(name); return current; }
static bool QuestionIsLValid(Racr.AstNode n) { if (n.Type() == ValueTypes.ErrorType) return false; var prev = n.GLookup(n.GetName()); return prev.IsErrorQuestion() || n.Type() == prev.Type(); }