UNB/ CS/ David Bremner/ teaching/ cs4613/ lectures/ lecture22/ sum-mut.rkt
#lang plai/gc2/mutator
(allocator-setup "generational.rkt" 160)

(define (sum! lst)
  (cond
    [(empty? lst) 0]
    [else (begin
            (set-first! lst (+ (first lst) (sum! (rest lst))))
            (first lst))]))

(define lst '(1 2 3 4 5 6 7 8 9 10 11 12 13 14))
(sum! lst)
lst