Adding non-working exmaple.
Got one working.
Just pass a function that returns Boolean to the checkBounds method, which means I can
change it to be more general.
Dropping BoundedIntOps and IntNarrowing. Going in a different direction.
Renamed "bounded" to "restricted", since the macro is more general now. Could do EvenInt or OddInt easily now, for example.