I've changed subseq (whose name is also going to become cut).
I don't want to add the second arg in string references, though, because omitting the cut implies you're getting a pointer within the original string, which you could then modify by setting elements.
Are pointers within strings useful? I.e. would be it be useful if this worked:
arc> (= ss "foobar")
"foobar"
arc> (= ((ss 2 -2) 0) #\x)
#\x
arc> ss
"foxbar"
There's no built-in way to get make a var point into the middle of a string in MzScheme, but I could make it happen if there was a need for it.