'slave.mli' (note lowercase first letter), and its implementation
in 'slave.ml'.
+In general terms, always start by reading the .mli file (if it exists)
+in order to understand the module and before opening the .ml file.
+
Threads and messages
--------------------
it performs some long-running operation by accident).
The slave thread is defined in the Slave module (interface:
-'slave.mli') and all slave_* files. The Slave module also defines
-what commands are possible. Every other module and file is part of
-the main thread except for a few utility / library modules.
+'slave.mli') and the slave.ml implementation. The Slave module also
+defines what commands are possible. Every other module and file is
+part of the main thread except for a few utility modules.
The main thread starts in the module Main.