(define (from-scheme-list slst ==?)
   (define result (new ==?))
   (if (null? slst)
     result
     (let for-all
       ((orig (cdr slst))
        (curr (first (add-after! result (car slst)))))
       (cond
         ((not (null? orig))
          (add-after! result (car orig) curr)
          (for-all (cdr orig) (next result curr)))
         (else
          result)))))
;juiste code van de professor


;mijn code:

(define (from-scheme-list slst ==?)
  (define result (new ==?))
  (if (null? slst)
      result
      (let for-all
        ((orig slst))
        (cond ((not (null? orig)) (add-after! result (car orig)) (for-all (cdr orig)))
              (else result))))) ;of misschien een "if" met "begin"?