docs: def get_node(self, role: str, default=None) -> BioCNode:
          """
          Get the first node with role
  
          Args:
              role: role
              default: node returned instead of raising StopIteration
  
          Returns:
              the first node with role
          """
          return next((node for node in self.nodes if node.role == role), default)