Ok, In that case I might take a stab at this from the other direction and just change all the prototypes to `StrBuf` and go from there.

With that said, it seems like StrBuf is missing a few features (Eg, I wind up doing `.as_slice()` a lot so I can access it's `str`'like stuff).

Am I reading the type `&str` correctly as being a borrowed reference to the same storage, and therefore cheap?