It would be a welcome improvement. One downside is that the relation between the mismatched template and the range check is not there. I worry that it will be hard to understand when facing a lot of errors, but will have to try to find out. The error message dmd produces in the face of ambiguous overloading is the most model (foo matches both bar and baz).
Template constraints are great, but have taken away the possibility of very good custom error messages that static if / else / assert have. unaryFun and binaryFun of std.functional for example give really helpful messages. I'm hesitant to suggest another feature, but maybe an 'else' counterpart to template constraint checks could go a long way.