Instead of using a completely generic parameter `E` and a template constraint, the parameter list could specify `ElementType!Range` in-place, which helps reduce the number of template instantiations and arguably helps readability through omitting the dreaded `IsExpression`.