Revise.revise(...) appears to not be threadsafe. Typically it is only run from a single thread, and only ever one-at-a-time, e.g. in the REPL. However, it is possible it could be called from multiple threads (e.g. in a webserver). In this case, the reading and writing of the global revision_queue without locks could cause inconsistent/corrupt reads (build-in data structures are not threadsafe). As a secondary problem, there is a thundering herd issue where work could be duplicated between Revise passes started at the same time.