docs: def get(self, key):
          """Return set of descendants of node named `key` in `target_graph`.
  
          Returns from cached dict if exists, otherwise compute over the graph
          and cache results in the dict.
          """
          if key not in self:
              self[key] = set(get_descendants(self._target_graph, key))
          return self[key]