Our new "Once, Weakly" examines some of the tradeoffs of designing an
"instantiation interface" for a class template. This is the interface
that a user of the class template must negotiate in order to produce a
working type from the template. As with any abstract interface, an
effective instantiation interface must balance the opposing forces of
flexibility and ease of use. In this case, we look at tradeoffs between
the uses of typename template parameters and template template
parameters.
See http://www.semantics.org/weekly.html
Steve