But yes, a hypergraph will have a lot of vertices referencing each other along (hyper)edges, however you choose to implement it. These can, and often do, form cycles, so again, no matter how the implementation is constructed, it has to handle that.
You'll have to check out the source for details on how this one is implemented, I wouldn't dream of spoiling the fun.