I am developing a package that works from Emacs-22 called leaf, and I'd like to use macroexpand-1 when testing it

But macroexpand-1 was not defined in Emacs-22 and Emacs-26's the code could not be defined because it depends on 'C - based' autoload-do-load function, even if I try to define it.

Is it impossible to use macroexpand-1 in Emacs-22? A hint to implement macroexpand-1 another way by Elisp is fine.