Have implemented the freelist and queue with hazard pointers. Will do the stack once the freelist tests are written and pass.
Now implementing – finally, after all these years! – a lock-free singly-linked list, with support for real delete =-)
Once that’s done, I’ll think about how complex it is to support delete in the unbalanced tree.