These two procedures are variants of string-concatenate and string-append that are permitted to return results that share storage with their parameters. In particular, if string-append/shared is applied to just one argument, it may return exactly that argument, whereas string-append is required to allocate a fresh string.