In Library section 7.2.12 are both put-string and put-string-n necessary? It seems these two procedures could be combined, since put- string as described is identical to put-string-n with both start and count default values. I recommend just defining put-string with the parameters and default values of put-string-n.