> For a library, when you need to build a heterogeneous collection of objects > with types that can be user defined.
Why don't object variants work here, instead of OOP? I don't see the need to introduce method for this case. The only thing OO provides is open recursion, which I haven't needed in most of the code I write.
