We present a transformation that converts any obstruction-free algorithm for an asynchronous shared memory system into a wait-free algorithm when the system is semi-synchronous, even if the bound between the relative speed of processes is unknown. Like pragmatic contention managers, our transformation has negligible overhead when there is no contention, but, unlike them, it also guarantees progress.