Is it possible to enforce purity for parts of an OCaml program? Or is there always a way around? (Not saying this is bad, because for instance caching functionality is non-pure but still maintains the external quality of purity).
There is work being done to bring an algebraic effects system to OCaml, but it's slow going. I think because the people pushing it have a bunch of other things on their plates too. But it would be super nice to have!