Reply to div0, > Pure functions are not allowed to alter global state. That's what you > doing when you create a new object. > > http://en.wikipedia.org/wiki/Functional_programming > Based on that, cons makes lisp not functional.