Proposal for how to handle arguments

See bug 1102371
This test makes sense... But all the others makes no sense to me...

Why not just have two cases. (1) handling when keyword args are given, (2) handling with position arguments are given.

In both cases just iterate over the input and throw an exception when you discover a missing argument. Or an argument too much is specified.