code: def bonds(self):
          
          seen = set()
          for n, m_bond in self._adj.items():
              seen.add(n)
              for m, bond in m_bond.items():
                  if m not in seen:
                      yield n, m, bond
docs: iterate other all bonds