Do concurrent: can loop variable be specified in `local`?

As a user, I think of the loop variable j as being local to each thread, so I don’t understand why I can’t specify it in the local specifier. Does it not make sense to specify j as local?

Also: why is i allowed in local(), but not j, even though both are loop variables? Yes, j is a parallel loop variable, while i is serial, but in my mind they both seems almost the same. So it’s very confusing to me.

(It seems the standard says you shouldn’t, but we can propose to change the standard if it is not well designed, so I am not worried about it, rather I want to figure out what makes sense to do.)