   (not (seq? a)))
 
 (defn null? [a]
-  (or (= '() a)
+  (or (= [] a)
       (nil? a)))
 
 (defn lat? [l]


(defn rember [a lat]
  (cond
    (null? lat) '()
    (= (first lat) a) (rest lat)
    :else (cons (first lat)
                (rember a (rest lat)))))

(defn firsts [l]
  (cond
    (null? l) '()
    :else (cons (first (first l))
                (firsts (rest l)))))

(defn insertR [n o lat]
  (cond
    (null? lat) '()
    (= (first lat) o) (cons o (cons n (rest lat)))
    :else (cons (first lat)
                (insertR n o (rest lat)))))

(defn insertL [n o lat]
  (cond
    (null? lat) '()
    (= (first lat) o) (cons n lat)
    :else (cons (first lat)
                (insertL n o (rest lat)))))

(defn subst [n o lat]
  (cond
    (null? lat) '()
    (= (first lat) o) (cons n (rest lat))
    :else (cons (first lat)
                (subst n o (rest lat)))))


(defn multirember [a lat]
  (cond
    (null? lat) []
    (= (first lat) a) (multirember a (rest lat))
    :else (cons (first lat)
                (multirember a (rest lat)))))

(defn multiinsertR [n o lat]
  (cond
    (null? lat) []
    (= (first lat) o) (cons o (cons n
                                    (multiinsertR n o (rest lat))))
    :else (cons (first lat)
