The case that I was trying to make to the ReasonML designers --- unsuccessfully I guess --- is that the best way to lower the barrier-to-entry for JS coders to ReasonML is to stick with the ML tradition of writing k-ary functions with k-tuples and *simply not tell them about currying at all* until they're up and running. As I understand it, their parser unrolls the tuples
let f = (x, y, z) => ... become let f = x => y => z => ...
Then whenever an unsuspecting JS coder accidentally calls f with too few arguments, f(a, b), they don't get an understandable type error because f(a, b) is of function type and they get some weird error with arrows in it.
I hope they'll revisit this issue but it sounds like a done deal.
Bob