> Thinking in these terms keeps the internal logic of your application simple (there are no format conversions except at system boundaries),
This is an excellent point but are there any devs who don't do this? This seems like such an obvious thing to do. I mean I guess if you dealing with tech debt and you want to upgrade from ASCII/bytes to UTF-8 you will not have this invariant for a shirt while but why would you not maintain the invariant in new code?