Have you looked at Kernel and wat? They use a fundamental operator (vau) to make macros, instead of a special form:
https://github.com/manuel/wat-jsmaru has this vau operator implicitly, rather than explicitly:
https://github.com/attila-lendvai/maru