Is there a programmatic way to access function/macro arguments,
Something like this, which returns the the arg count and true if it accepts any number of additional arguments.
eg:
(number-of-arguments-and-rest "if")->'(2, t)(number-of-arguments-and-rest "progn")->'(0, t)(number-of-arguments-and-rest "null")->'(1, nil)