;; Question 6 (define (in? n lon) (cond [(empty? lon) false] [(= n (first lon)) true] [else (in? n (rest lon))])) (define (insert n alon) (cond [(empty? alon) (cons n empty)] [else (cond [(<= n (first alon)) (cons n alon)] [else (cons (first alon) (insert n (rest alon)))])])) (define (sort alon) (cond [(empty? alon) empty] [else (insert (first alon) (sort (rest alon)))])) (define (loop lon remlst) (cond [(empty? lon) empty] [(in? (first lon) remlst) (loop (rest lon) remlst)] [else (cons (first lon) (loop (rest lon) remlst))])) (define (unmerge lon remlst) (sort (loop lon remlst))) (define (unmerge-sorted lon remlst) (cond [(empty? lon) empty] [(in? (first lon) remlst) (unmerge-sorted (rest lon) remlst)] [else (cons (first lon) (unmerge-sorted (rest lon) remlst))]))