On Sat, Feb 22, 2020 at 7:12 PM Lassi Kortela <xxxxxx@lassi.io> wrote:
 
The point of keyword args is to be optional; and
optional args require conditional statements in the procedure body.

Sometimes they are all in fact mandatory, but there are too many and we want to use keywords for their self-documenting powers.  In Harlan, my favorite toy language (don't bother googling for it), all procedures are called using keywords unless they have less than three arguments.  If the arguments are left and right, the name is a binary operator, and if there is only right, a unary operator.