Standard Libraries vs Tail-Recursion

Looks like String.downcase reassembles the string from individual codepoints:

That should lose any reference to the original un-split binary, right?