Add a defmacro builtin