I made the mistake of watching Jon Kalb's "This Is C++" talk. It's amusing to see him routinely use words like "careless" to describe C++ programmers who write code that can trigger UB. Apparently good C++ programmers like him don't trigger UB. But he has an example with signed int add, mul and div functions where he enumerates potential UB. He mentions add and mul can overflow, which is UB. Then he says that div cannot overflow but could divide by 0, which is UB. Anyone see the irony?