Great article. Violation of the Single Responsibility principle in software sometimes manifests itself in hard to see ways and this is one of them. Any duplication and unnecessary translation adds complexity. You either make a whole dedicated formalized tested layer for that translation, or you interweave it into the existing code without telling anyone. Both are bad. The best code is No Code and that’s been proven through multiple studies.