Yes, ParseNode has an isStateless() method. If it returns true, then it means that you can evaluate the expression without needing a Tuple (i.e. all of the child ParseNodes are stateless as well: literals, binds, sequences, current_date).