DAGcombine does one pass over all nodes and then give up. This is suboptimal because one node's combine can expose a combine for another node.
Because some of the combines create infinite loops, we limit things to 3 rounds. Idealy, we like to continue combining as long as something is combinable, but that will require removing the combine that do and undo each others, so in the meantime, doing 3 rounds maximum seems like a good tradeof.
Spelling