One of the things I found myself wishing I had in Erlang was labeled arguments.
Even with common operations from stdlib (like lists:foldl) - I constantly
forget the correct order of arguments, and it becomes that much more
error-prone in complex cases (see cowboy_req:new/14
, for instance).
Another desirable feature is optional arguments, which are assigned a default value when omitted.
It turns-out that the semantics of these requirements are fully met by records!