https://stevelosh.com/blog/2018/07/fun-with-macros-if-let/ is an excellent post on implementing if-let and when-let macros.
It discusses the different ways you could expand the code, and ensuring the macro composes with other (Common) Lisp features.
Really useful macro too, I'm a big fan of the elisp equivalent.