@codefolio That’s the problem variant types solve: they don’t violate LSP. String? (using Swift notation here, that’s “optional String”) is not a subtype of String. “Box that might contain a cat” is not a cat. It is a box. And lang features make sure you deal with it as a box first before you can get at the cat inside. 2/