validate-loop-locals is self-contained