Start work on more elaborate argument handling

- Support parsing (but not running) **kw in function definitions
- more consistent assertion of what parts handle non-simple arguments or not