And as for your specific question: typechecked code doesn’t get to production with a type error; it won’t compile. There’s a common phrase, “left-shifting errors”. It means catching bugs as early in the development cycle as possible. In terms of things like developer time (and patience), it’s far more cost-effective to do so.
I’m not quite sure why you fetishise a bit-for-bit over semantic equivalence. Doesn’t it turn “it works on my machine” into "it works on my machine as long as it has this sha: … "?