I think this also leads into the "fungibility" of this code, as any integration with a hard serialization boundary avoids unexpected coupling.
You can swap out any one component and completely rewrite it, as long as you output the same thing, downstream systems literally can't tell the difference.