I don't think I'm gonna find a library that supports my OneToFive type.

Your type comes with its own library, and the compiler makes sure you're not misusing it by failing to consider a possible case.

If you need to use your OneToFive someplace that actually wants an integer, that happens at the boundary. Everything else is safer.