added macro to check number of arguments to function
added macro to check type of arguments to a function
added assertion to ensure function arguments are not empty
moved assertions to separate file