macros are awesome. tidied up the list building in validation.lisp