move splat in accumulate, fix some typos and make transform return the output iterator