It has some advantages in my opinion. I makes it easier to orient oneself in large code bases. A single file I can peruse will indicate me the exact piece of functionality the module is exposing to the rest of the code base without having to crawl through the private parts of the module. .mli
files reveal the program design without having to resort to higher-level IDE functionality and encourages interface design and thinking. It’s also a good spot to hold the documentation everyone loves to write.
11 Likes