> then a subclass is actually a supertype—a superset of the possible values of its parent class—and likewise a superclass is a subtype
I'm sure this makes sense and is well-though-out, but I just can't understand it. What difference does it make if `Dog < Animal` are classes or types? Still any dog is an animal and not any animal is a dog. Or am I missing something?