It's quite simple actually. By default, all Nim variables are initialized to
binary zero. For all of these ranges but for the first one, binary zero (which
is numeric zero as well) is a valid value. But that's not the case for the
first range sooo... The compiler complains that it can't prove the variable
will ever have a _valid_ value (because binary zero is _not_ a valid value for
this type).
If you're sure you will initialize this variable elsewhere, use {.noInit}
pragma. If not, you really should set it, just like the compiler suggests you.