-any? requires dash
seems this defmacro needs eval-when-compile to work when byte-compiled