Why prefer<p><pre><code>    int foo(auto a, auto &amp;&amp;b);
</code></pre>
to<p><pre><code>    int foo(a, &amp;&amp;b);
</code></pre>
? Too big a change? Too much magic? Maybe more difficult to read or parse. The argument &quot;It&#x27;s not clear that the function is a template&quot; isn&#x27;t there any more, though, so it seems reasonable to me.