showLispVal (Macro name args expr) = "(defmacro " ++ name ++ " (" ++ initSafe (concatMap (++ " ") args) ++ ") " ++ show expr ++ ")"
showLispVal (Macro name args expr) = "(defmacro " ++ name ++ " (" ++ initSafe (concatMap (++ " ") args) ++ ") " ++ show expr ++ ")"
showLispVal (Macro name args expr) = "(defmacro " ++ name ++ " (" ++ initSafe (concatMap (++ " ") args) ++ ") " ++ show expr ++ ")"