I agree that a destructive implementation of ‘mapping-search’ will need some kind of locking in the presence of multiple accessing threads to prevent unexpected results; but this is a task an implementation is already facing when implementing ’set-search!’ from SRFI 113 or ‘hash-table-update!’ from SRFI 125.