The handler of incomming requests is waiting on the crossed MVar before accepting an incoming connection.
This wait is potentially indefinite (if the CrossConnectRequest message does not arrive), and it looks unnecessary. At least I cannot come up with any problematic interleaving of events in the absence of it.
We should either remove the crossed MVar or document what is helping to accomplish (preferrably the problematic ordering of events that is being ruled out).
There is the commit message of the commit that introduces it. Unfortunately, it doesn't explain the "certain ordering of events" that motivates it.