Original Post
It seems to me that the type system made in sections 2.4 and 2.5 are highly similar to inheritance and polymorphism in object oriented languages. It seems like a lot of work to gain very little over OO languages. If a program needs something like that, wouldn't it be best to simply write it in an OO language? What are the benefits of what they create over the equivalent in, say, C++ or Python?