So you say that newSV(16) always allocates the bytes on a suitable memory boundary. I didn't know of any such guarantee, thus my question.
Well, then you can replace those calls to Copy with casts and assignments
Update: Fixed bad grammar. Also, the second paragraph should be ignored because it makes sense to support passing OOK strings to native_to_int128 functions.