Nested main loops are bad, as they introduce layers of complexity caused by the potential re-entrancy in the case of multiple event sources, like IPC, threads, etc. Additionally, the programming model they provide—stop the world while spinning a new loop—does not conform to the event-driven model employed by GTK.