allow rest args with lambda and defmacro