code: def all_expressions(self):
          
          if self._all_expressions is None:
              self._all_expressions = self._explore_functions(lambda x: x.expressions)
          return self._all_expressions
docs: recursive version of variables_read