How did they implement allocate a new cons cell?