ExternOneByteString and ExternTwoByteString look like they could be folded into a template class.