code: def to_tuple(self) -> tuple:
          
  
          if self.child:
              return (self.name, ) + self.child[0].to_tuple()
          else:
              return self.name,
docs: Convert the nested component reference to flat tuple of names, which is
          hashable and can therefore be used as dictionary key. Note that this
          function ignores any array indices in the component reference.
          :return: flattened tuple of c's names