bind
Binds id to token, unless the id is blank, is this peer's own selfId, or is already held by a different device. The incumbent always wins a COLLISION — the id is never reassigned out from under a live peer.
The order of the checks is not arbitrary: blankness and self are properties of the announced id alone, so they are decided before anything is consulted about who holds what. That makes the refusals independent of arrival order — a blank id is refused whether it is the first announcement or the tenth.