     (fn [new o1 o2 lat]
       (cond (null? lat) '()
             (or (eq? (car lat) o1)
-                (eq? (car lat) o2)) (cons new (cdr lat))
-            :else (cons (car lat) (subst2 new o1 o2 (cdr lat))))))
+                (eq? (car lat) o2)) (conss new (cdr lat))
+            :else (conss (car lat) (subst2 new o1 o2 (cdr lat))))))
 
   (is (= (subst2 'vanilla 'chocolate 'banana '())
          '()))

    (fn [a lat]
      (cond (null? lat) '()
            (eq? (car lat) a) (multirember a (cdr lat))
            :else (cons (car lat) (multirember a (cdr lat))))))
  (is (= (multirember 'cup '())
         '()))
  (is (= (multirember 'cup '(coffee cup tea cup and hick cup))

            (eq? (car lat) a) (cdr lat)
            :else (conss (car lat) (rember a 
                                           (cdr lat))))))

  (is (= (rember 'and '()) '()))
  (is (= (rember 'and '(and)) '()))
  (is (= (rember 'and '(bacon lettuce and tomato)) '(bacon lettuce tomato)))
  (is (= (rember 'mint '(lamb chops and mint jelly)) '(lamb chops and jelly)))
  (is (= (rember 'mint '(lamb chops and mint flavored mint jelly)) '(lamb chops and flavored mint jelly))))
