Minimizing Work in Copying/Manipulating Custom Data Structures

An additional comments/question: My above solution fails when N=1, in that the iterate_func! does not perform as expected. The loop with global continues to work.