This function seems to be a duplicate now.

I wonder what would happen if you included Lisp inside of cons.rb, and used it that way? This may also clear up some of the logic in the `to_s` perhaps by making the `car` and `cdr` appear a bit more functional, rather than OOP? Not 100% certain about this change yet, but I'd at least like to look at avoiding the duplication of the cons? predicate definition.