Maybe add a `assert(str->Length() % 2 == 0)` here?