I think this test is useless? We already have `is(ElementType!A : const(dchar)`. Speaking of which, isn't that `const` also useless? Also, style nitpick, but can we put the `isInputRange` test before the `ElementType` test in the restraints? It just seems it would make more sense that way.