Whether you agree or not, I definitely think that promoting loop variables to be heap allocated is consistent with the rest of Go.
Whether you agree or not, I definitely think that promoting loop variables to be heap allocated is consistent with the rest of Go.
(Obviously there are some consequences to this, wherein you may find yourself with heap-based allocation in hot paths that you didn't expect. But in terms of productivity, I think that not caring and having no distinction certainly reduces one thing that the programmer has to think about.)
I think there would be analogous design decisions that remove various low-level concepts in many languages. For example, Python ints are arbitrary precision, which removes a whole set of concerns from the programmer. Rather than being "weird", I think this is just optimizing for a particular kind of programmer productivity.