On Thursday, 24 August 2017 at 23:50:21 UTC, data pulverizer
I find OOP-polymorphic types ultimately unsatisfying, but I
don't know of anyway to write, compile and load a D script with
new types and methods on the fly into the same session.
That is why binding membership and polymorphism together is a
historical wrong turn. CLOS had it right but the world followed
the Simula/Smalltalk path because of a nice metaphor (objects
sending messages to each other).
My openmethods library allows you to add methods "from outside"
and also supports dynamic loading: you can add new methods to
existing classes and new classes to hierarchies that have
methods. See the blog post that just came up.