And it invites timing-based heisenbugs (enable tracing, problem goes away).
Still a neat approach, however.