The RFC does not mention anything about counter overflow. The only mention I can see about the counter size in the RFC is in this section.

   C       8-byte counter value, the moving factor.  This counter
           MUST be synchronized between the HOTP generator (client)
           and the HOTP validator (server).

which is why I packed it as ">Q". Should I enclose `struct.pack` in a try/catch block and raise a more informative `ValueError` instead?