A few months ago, I really enjoyed two very interesting C++ talks (1)(2) given by a very clever guy named Sean Parent. I was immediately enchanted by his approach to polymorphism involving objects with value semantics, which makes virtual dispatch and dynamic memory allocation just an implementation detail rather than a primary means of writing client code. I had been interested in this topic for some time but never encountered such a good source of inspiration, so I've decided to give it a try and come up with this minimal experiment to help me study this approach: