It could just be that I didn’t realize __set__ and __delete__ weren’t required. Or maybe it didn’t work well with the __slots__ support. It’s been a while since I worked on that code, I don’t remember anymore.
If functools were to drop the lock, which I agree is a good idea, I would look at using it again.