Honestly, I'm wondering if we should just get rid of the lock from the list altogether and let the programmer deal with the problem (like in the vast majority of data structure libraries).
But that's not a backward compatible change ;)
I agree that the FOREACH macro is kinda out of place, and a synchronized variant should be available. We will probably do it soonish.
Feel free to create a bug in our issues database,
https://github.com/pmem/issues/issues, that will at least make sure we won't forget about it ;)
Piotrek