Minor nitpicks here (though I realize 1 & 2 where prre-existing):
1. Why does `canIndex` check for `isSomeChar!(ElementType!S))`?
2. What is the point of `immutable fst = str[0];` vs `immutable fst = str.front;`
3. The last static if should re-use the definition of `canIndex`. As it stands, both are slightly different, and I can't tell if this is intended.