(let ((offset-current (+ start current)))
(declare (fixnum offset-current))
(if (= offset-current end)
(let ((offset-current (+ start current)))
(declare (fixnum offset-current))
(if (= offset-current end)
(new-workspace (make-string new-length)))
(declare (simple-string new-workspace))
(%byte-blt workspace start
(new-workspace (make-string new-length)))
(declare (simple-string new-workspace))
(%byte-blt workspace start