Well, yes; but this doesn't fix it.  That was just a leftover from debugging -- it doesn't change the behavior.

The real problem is when optimize() is called twice.  After the first call Map.children no longer corresponds to the direct children of the expression, but also any fused children.  When we build the `combined_op` we add all of the children as `deps`, but that's not correct... `combined_op` should only reference the children directly corresponding to the current expression, not all of them.

I'll make that fix later in a different commit.