<p>
Arithmetic type promotion for vectors is identical to type promotion
for built-in types. For example, adding a double constant to a 
Vector&lt;int&gt; will result in a Vector&lt;double&gt;; multiplying
a Vector&lt;long double&gt; by a Vector&lt;float&gt; will result in
a Vector&lt;long double&gt;.  Generally, the result is promoted to
which ever type preserves the greatest precision.</p>

<p>Note that division and multiplication of integers may result in
truncation and/or wraparound, since the result re