rem: assert(p && "null PermString"); _data = p.cc(); _length = p.length(); _memo = permanent_memo;
add: _data = s._data; _length = s._length; _memo = s._memo;
context: String::assign(PermString p){  assert(p && "null PermString");  _data = p.cc();  _length = p.length();  _memo = permanent_memo;  _memo->_refcount++;}