This, totally. Nobody cares—or should be forced to care—whether a given compiler does something in a single or multiple passes, what counts is ergonomics and overall speed. FWIW when I still worked with TeX (XeLaTeX) I soon built my own wrapper for the executable that simply compared the sha1sum of the relevant *.aux file from before with that from after the run and would loop until the checksum wouldn't change any more.