substring-move-left! or substring-move-right!. Thanks to Kevin Ryde.
Differences between this and (ttn gap-buffer): Use string-join; autoload (srfi srfi-13). Values for `default-initial-allocation', `default-chunk-size' and `default-realloc-threshold' are 4x as large.