rem: sprintf(sa.reserve(256), "%u%n", u, &len);
add: sprintf(sa.reserve(256), "%d%n", i, &len);
context: operator<<(StringAccum &sa, unsigned u){  int len;  sprintf(sa.reserve(256), "%u%n", u, &len);  sa.forward(len);  return sa;}