As you can see, a Circle really is an Ellipse, but they have
different implementations! In fact, since we can change the “class” of
objects at run-time, we even could cast Ellipses with the same radii
transparently into a Circle (the question is “when?”).
The Sloop object system allows for a lot of other powerful things that
don’t fit into this article (and after all, it’s still in
development). For now, I refer you to the source and unit tests.
(You may be curious about the condition mechanism, for example.)