various solutions to lisp exercises