Added capability to process splatted arguments and moved the check
of argument number compatibiilty from macro expansion time to runtime.