`type Register = distinct uint16` gives me most of that ability. I used it the other day and Nim optimizes such things well.
Nim will be successful if people can and do use it to create useful software. Oh wait, it already is! The goal of becoming "language number 1" as the target of success is a dumb objective IMHO. I program in Nim because I enjoy it and it let's me create stuff I otherwise couldn't or wouldn't. The areas where Nim can improve the experience the most for low effort is packaging improvements, bug fixes, IDE improvements, etc. The first two have been making huge strides and improves the IDE experience as well.