macros as building blocks
abandoning new search.lisp