&& used instead of ||. now diagnostic for loop too far is correctly emitted. (don't ask how i found this. :-))