I think newString() might have an off-by-one error. ``` var s = newString(0) s[0] = 'a' # this works fine! s[1] = 'b' # this fails as you might expect ``` And so-on for larger values. I'm not sure to what extent this is a bug, or by design.