Why doesn't checking if it's in the range at the beginning and blowing up if not do what you want?
@rq What would you expect the compiler to do in the desired world if it couldn't determine whether the assumption is always held?
@robryk@qoto.org Yell at me to add code to ensure the assumption is always held or to add a compiler hint if I know it'll always be held
@robryk@qoto.org I mean that the compiler throws a compiler error so I don't have to find out at runtime my assumptions were wrong