Adding basic working (I think) garbage collector built out of cons