Justin Whear:
By this do mean replacing the template constraint `if (isInputRange!R)`syntax? If so, we need concept definition syntax, but we do notnecessarily need a "struct realizes concept" syntax. And, in fact, I would argue against it as a static assert would continue to be sufficient.
I was not suggesting to put Concepts (or typeclasses) in D (and Andrei is against this idea), I was just trying to explain the basic difference between template constraints and concepts :-)
Bye, bearophile