@derek-gerstmann There is a number of issues: * ``` StringStorage ss; halide_abort_if_false(user_context, ss.length() == 0); ``` is UB because `ss` is garbage and not zero-initialized * `memcpy` in `StringStorage::prepend()` over overlapping memory ranges * ???