All the changes in here are a sign of a concerning deadlock, as discussed on the ML.  We must find another way.