Learning lisp by implementing a bunch of stuff in it