Make foo[i++] += bar work without double evaluating i++