<p>The optimised copy example shows how type traits may be used
to perform optimisation decisions at compile-time. Another
important usage of type traits is to allow code to compile that
otherwise would not do so unless excessive partial specialization
is used. This is possible by delegating partial specialization to
the type traits classes. Our example for this form of usage is a
pair that can hold references [6].</p>

<p>First, let us examine the definition of &quot;std::pair&quot;,
omitting the comparisi