When building iterative macros and debugging I tend to copy an paste the calculation part multiple times underneath to see what the status would be on iteration 2, 3, 4... However when there are multiple inputs to tools in the calculation steps, for example join tools or unions, then for each step it need re-connecting.
So the idea is two fold
1) Allow the user to 'lock' an input so that when that tool is copied the upstream connection point is always the same, e.g. the R input for the join tool is automatically connected to the D input macro whenever that tool is copied
2) For iteration outputs, recognise that the select tool is connected to an iteration input so when it is copied it takes the iteration output as the upstream tool.