(define (uniq lst)
  (fold
   (lambda (e l)
     (cond ((null? l) (cons e l))
           ((member e l) l)
           (else (append l (list e)))))
   '()
   lst))