The problem with monospaced typefaces is that all glyphs have to have the same width, but different characters need various amount of space. For example, fitting ‘m’ to the same width as ‘i’ results in that ‘m’ is too narrow or ‘i’ is too wide. Also, monospaced typefaces can't use normal kerning because that could distrupt the monospacedness.
I got the idea that kerning of monospaced typefaces would work if all kerning pairs together compensate each other so that the total width wouldn't change. If that happened within individual words, it wouldn't disrupt the monospacedness significantly. I don't know the details of OpenType, but, as far as I know, there is the ability to change the glyphs based on context, so I expect that this would be possible.
Is there a typeface implementing this or something similar? I would like to know how the idea works in practice.
I created some mockups to illustrate what I mean. Every odd line has monospaced letters. Every even line has kerning and extension of letters to look better IMO but so that the width of the word doesn't change. The extension is specifically that ‘m’ gets wider and ‘i’ and ‘I’ get narrower.