Updated patch, now with 64bit, 32bit, and 16bit. Also with unit tests to ensure this works, and continues to work. I've added a tiny blurb about why I used 3 predicates rather than exposing the bitwidth as an integer. I want these to be used as coarse categories, not precise architectural details.