Separating mechanism from policy: lock-free locks

Sometimes your program can have its cake and eat it too