“The requirements of a polymorphic type, by definition, come from where you use the type, not from the type itself.”

(S. Parent)

"When I use inheritence, I build the use of my object into my object. On the contrary, what I want to do is separate the use of my object from the object itself. There are no polymorphic types, only a polymorphic use of similar types."

(S. Parent)