"Generalization of graphs" usually leads down the hypergraph path. I wanted to represent various interesting local structures and "say something about them" and ended up down a rabbit hole, with a grammar, haskell reference impl, rust port, and even an experimental lisp. Pausing to share before getting lost in the warren.
akollegger•1h ago