Seems fine to me. Rust has a "foreach" which is named for, working ok. Of course Rust has ranges as iterators, so it's not necessarily noticed that "there is no numerical for" but it works.
> Rust has a "foreach" which is named for, working ok.
Also ruby / python.
Don't see the point of a C-style for loop in a modern language, reusing the keyword is perfectly sensible (even more so as many which have both use the same keyword).
C# actively weirds me out every time from having both for and foreach, complete waste of brainspace.