@Jimbo i) LSP applies to all languages, not just those that have interfaces ii) You can have violations of LSP, even if the types have the same methods
en.wikipedia.org/wiki/… iii) I don't think LSP says
quite what people think it says.....people do mean it to mean depending on interfaces but actually: