Note: A version of this article was originally written for Human Readable magazine in March 2020. That site no longer exists, so I decided to republish it on this blog. In the process I also converted the example code from ReasonML to OCaml syntax and updated the text to reflect those changes. Since functional programming’s move into the mainstream, many developers have embraced concepts like higher-order functions. OCaml take this a step further and extends the concept to the module level....