> You read code when you're programming.
Right, but not for comprehension the way you read prose, but for technical accuracy of an input to a mechanical system that will read it and which is intolerant of errors even when the meaning is clear from context. For human consumption of prose, fonts that can sometimes create ambiguities of individual characters that are easily resolved from context but which keep the overall shape of morphemes recognizable are mostly fine, for creation of content -- particular content to be read by a machine, they are not.
> General readability matters -- when is it OK for a regular font to be unclear about which character (a zero or 'O') you're looking at?
For readers, quite a bit, because for most purposes, the meaning is clear from context (same with 1/I/l), and because people with more than marginal literacy mostly are recognizing the visual shape of (approximately) whole morphemes, not individual characters.
> If you have 'rn' looking like 'm', it's just as awful when you're reading a novel as when you're reading code.
For the reasons stated above, that's not really true.