nondeveloper version is more compact
for loops