Why is it such a problem? Can't debuggers use `Debug` trait if defined? Or do they already?
This would make bugs around state in Debug impls much more complicated, for example. This can creep in under a few layers of indirection - ultimately calling a function that gets the value of an interned string would be one example.
But debuggers like GDB have built in infrastructure for expressing how to display structured, potentially nested data structures - it's built for the purpose and powerful, so it's nice to bring it to bear if you've not already got something equivalent in they program.
The other important thing is that the debugger's pretty printers work on a core file, without needing a live process.