Most of the next machine would have the same state as the old one:
; Machine -> Machine
; Makes the next machine
(define (next-machine m)
(make-machine
(machine-name m)
(machine-cpu m)
(machine-storage m)
(update-os CURRENT-OS)
(machine-applications m)))
Most of the next machine would have the same state as the old one: