Sometimes the hardest bugs aren't caused by broken code. They're caused by an architecture that no longer matches the problem.

There is a particular kind of bug that can consume far more engineering time than it should.

You fix it.

It comes back.

You fix it again.