Can we rewrite DO-MERGE-ASYM as a function instead of a macro? I'm guessing the problem is that nset.lisp (where the macro is defined) is compiled after compar.lisp (where it is used). Just moving nset.lisp ahead of compar.lisp in maxima.system causes other stuff to break, so that's not a solution. FWIW Robert