Add support for [MapClass(type, type)].

`argument_list` now return undefined when no arguments are found (rather than an empty array).

`argument_list` also backtracks its changes when it cannot find any arguments.