Whilst single traversal is solved with move the other two issues I have are:
- Any part of chain can terminate. EG an iterative solution that converges, termination is only known part way down the chain.
- Cannot pass errors along the chain and terminate the iteration on error.