Is it guaranteed that the modification to a cstring also applys to the string from which it's taken? (Given that the string is not empty and is still on the heap.)
var s = newStringOfCap(10)
s.add "12345"
var p = cstring(s)
p[0] = '0'
assert s == "02345" #correct?