@dataclass(slots=True)classNode:"""A node in a hypergraph."""index:intlabel:strdisplay_label:str=field(init=False)# For user-input validation purposes onlyprev:Optional[EdgeInfo]=field(default=None,init=False)next:Optional[EdgeInfo]=field(default=None,init=False)def__post_init__(self):self.display_label=f"{self.label}, {self.index}"