Add macro for argument iteration
Add macro for iteration over arguments and type checking