Silently drop 'BlockedIndefinitelyOnSTM' and 'ThreadKilled' exceptions, as most cases in which they occur are benign and not worth the noise.
Okay, still not perfect, but MUCH better: far more common code between UDP & TCP transports, and not too messy with abstractions (e.g., connections aren't really natural to UDP, but the abstraction here is working), and nearly all common test code between TCP & UDP unit tests.