I'd only note that using foreach/push instead of a single assignment requires more work on the part of the interpreter. It'd be a trade-off on whether I valued the work savings on the part of the interpreter over the ability of novices to read the code.