Hello.
It seems the list has been too quite for too long, but maybe we can still try to create some interesting discussions.
So, while looking at the motivations for the lazy approach for lists, it mentions that in that "particular implementation" contains() acquire locks. Nevertheless, I cannot see a reason why the implementation of contains() (figure 9.13 in the book) needs to validate before checking. After all, if the item was there when it started, it does not matter if it was recently removed.
Thank you.