This doesn't modify member state. We can also mark the parameter of AppendError as const as well, since it isn't modified.