code: def eval_bool(self, expr):
          
          result = expr.eval(self)
          iterator = iter(result)
          try:
              next(iterator)
          except StopIteration:
              return False
          else:
              return True
          finally:
              if hasattr(iterator, "close"):
                  iterator.close()
docs: Evaluate the expression `expr` and return the truthness of its result.
          A result of an expression is said to be true if it contains at least
          one value. It has the same semantics as :func:`bool` on sequences.s