Objects of type `Thread` can't be compared. There's no way to know if you are still in the same thread as you were before. I don't know if this should just be an implementation of `Eq` on `Thread`, or if a new `ThreadId` type would need to be created.