? This one puzzles me. You've gone from an iterator (which is O(1) allocation work) to an array (O(N) allocation work)