This documentation page on #Blender's internal mesh data structure is really good: https://developer.blender.org/docs/features/objects/mesh/bmesh/ It has very thoughtful comparisons to half-edges.

I stumbled upon it when researching mesh libraries for Python that support N-Gons. Perhaps I'll try reimplementing BMesh myself.

BMesh - Blender Developer Documentation