I think, it's possible to do things like `val[4..5]` with macros, maybe even `val[0, 4..5]` with recursive macros. Not sure how to deal with match though, as noted on ML that would require new variable bit-sized ints.