Axel Rauschmayer is running an excellent series of blog posts introducing and exploring in some depth features of the ReasonML programming language. http://2ality.com/archive.html?tag=reasonml
Reason is a new language created by Facebook which uses a C-like syntax similar to JavaScript but is implemented in OCaml under the hood. OCaml is a robust and mature functional programming language which is over twenty years old.
Reason compiles to JavaScript, web assembly and native.
The latest installment of this series is a pretty deep dive into how functions are defined in Reason. http://2ality.com/2017/12/functions-reasonml.html
Rauschmayer is well known in the developer community for writing in-depth books explaining the various syntax nuances of JavaScript. You can read his books for free at his website.