# this tests defining multiple interdependent macros at once
run -s2 '(opt (com (quote (mod (ARGS) \
    (defmacro if1 (A B C) \
        (qq (a \
            (i (unquote A) \
               (function (unquote B)) \
               (function (unquote C))) \
            @)) \
    ) \
    (defmacro and1 ARGS \
        (if1 ARGS \
            (qq (if1 (unquote (f ARGS)) \
                (unquote (c and1 (r ARGS))) \
                () \
            )) \
            1) \
    ) \
    (and1 (f @) 30) \
))))'
(q 2 (i 2 (q 1 . 1) ()) 1)
