I think this still makes sense, and probably doesn't need special treatment at all, since the loop below will just not run?

It just returns `None` on every possible conversion: i.e. having 0 variants mean the numbers in the (empty) set `[0, 0)` are valid to convert from, and anything else (i.e. everything) gives `None`.