Partially for conceptual simplicity, but mostly just to keep it separate from the documentation on the methods that users will actually call. I want users to feel safe calling everything in `GenericPath`, but the functions here in `GenericPathUnsafe` are purely implementation details.