"Examples of designs that meet most of the criteria for "goodness"
(easy to understand, flexible, efficient) are a recursive descent parser,
which is traditional procedural code. Another example is the STL, which
is a generic library of containers and algorithms depending crucially
on both traditional procedural code and on parametric polymorphism."