"Compatibility means deliberately repeating other peoples' mistakes," said Wheeler. Not only a pithy aphorism, but literally true. And today, almost fifty years after the birth of unix, we still make it a point to deliberately repeat mistakes - even if we don't count unix itself among them. Why do we still program to teletypes? Why must we concern ourselves with newlines in file names? Why is it still an everyday occurrence to find the arrow keys don't work? Why did scala intentionally repeat most of java's mistakes? How is it that so much effort is poured into validation of inputs, yet it's never enough? How can it be that we know the benefits of types, yet only enjoy those benefits in a minority of environments? Why is it so difficult to clamber above the maelstrom of complexity - and stay there? Can't we have it both ways - make improvements without sacrificing compatibility? In fact, we can have it both ways. The subject of my talk is the almost unexplored frontier through which we can disrupt the endless perpetuation of mistakes of the past: ipecac for the ouroboros.