Why oh why the brackets? Obfuscates currying too much.
let make ::message ::extraGreeting=? _children => ...
let make = (~message, ~extraGreeting=?, _children) => ...
Plain OCaml: let make ~message ?extraGreeting _children = ...
Fortunately bucklescript is a completely separate project. After this change I might ditch Reason and just write OCaml. There were some little improvements with Reason vs OCaml but now OCaml appears to be a clear winner!