Fair point, but it's a complex issue. How do you address this:
certain things can not be solved, and in software development having bugs is a part of the deal. all we can do is have higher test coverage testing all the edge cases we can find but in the end there will be some nasty unexpected behavior in the code that nobody could foresee.