This is another suggestion for new syntax for assigning a name to the value
of the predicate in an if, elif or  while statement. It still uses `as` for
its keyword, but with (more flexible) params instead of a direct assignment.

It mashes up the if/while, def/class and for-in grammars, so it still looks
like Python, and boils down to this:

    if|elif|while <predicate> as (<params>): <suite>

If the params contain one simple name (the required minimum), the value of
the predicate is assigned to that name. In any other case, the value must
be a sequence, which gets unpacked:

    while input('$ ').split() as (command, *args):
        
        if run(command, parse(args)) as (result): render(result)
        else: sys.exit()