docs: def forget(self, node=None, cache_directory=None):
          '''
          plan.forget() clears the in-memory memoized cache for the plan and returns the cache dict
            prior to clearing.
          '''
          #plan.forget(node) clears only the cache for the given node (which may be a node name) and
          #  all nodes that depend on it; plan.forget(None) is equivalent to plan.forget()
          #plan.forget(node, cache_directory) additionally deletes all directories in the given cache
          #  directory that correspond to the nodes downstream of node. The node may be None to delete
          #  all relevant cache directories.
          m = self._memoized_data
          self._memoized_data = {}
          return m