Replaces the ordinalth value of vlist with value. If span > 1, replaces ordinal to ordinal+span-1 values starting at ordinal.
(define (list-put vlist ordinal value #!optional (span 1)) ;; Replace a specific member of a list (let loop ((result vlist) (count span) (k ordinal)) (if (equal? count 0) result (let ((head (list-head result (- k 1))) (tail (list-tail result k))) (loop (append head (list value) tail) (- count 1) (+ k 1))))))