I don't see why defining it as a word would cause any problem with using -1 for infinity. If you cast -1 to an unsigned, you get the same bit-pattern.