Not sure about the other issues, but I believe this one is easily solved:<p><i>&gt; Mocking modules without having a build mess with oasis</i><p>OCaml has parametrized modules (aka &quot;functors&quot;), which provide a very clean solution, compared to mocking whole modules anyway.<p>As a side note, I usually see mocking being used to test badly structured code. Refactoring that is usually a benefit for testing as well as a benefit for the code itself.