I'm neutral on adding Nat or Natural.... seems you math types :-) need to sort out how to handle subtraction.... the rest of us dirty-hands mechanics are fine with the quirky subtract operation on Words...
BUT
-2 to adding this to Data.Word. This is not the place to add this, for at least two reasons:
- Data.Int and Data.Word are the "go to" places for types that correspond closely with what modern hardware supports, and what most interoperable specifications are written to (think file formats, protocols, RFCs, etc....). Nat has none of these properties and is hardly universally agreed upon!
- People import Data.Word unqualified all the time - I don't think this type meets the trade-off for adding something into many program's global name space.