If must_build was nonempty when recursively calling isdirty() that returned a list, we'd lose the original value of must_build.
Makes it slightly faster.
In preparation for sharing between multiple commands.