On Tue, Jun 11, 2013 at 1:04 PM, Brian Goetz <span dir="ltr">&lt;<a href="mailto:brian.goetz@oracle.com" target="_blank">brian.goetz@oracle.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
1.  Reducing boxing during reducing.  Currently, the reducing collectors will unbox, compute a new result, and rebox, on every element.  That ugly and slow.  With a post-transform, we can use a hidden mutable holder as our internal representation, and still only expose &quot;Collector from T to Long&quot;.<br>
</blockquote><div><br></div><div>Nice, indeed, but won&#39;t the internal type still appear as a type parameter of Collector? </div><div> </div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
2.  By dialing back on the accumulator function&#39;s choice of operating functionally or ability to produce a new value (which was really only required by reduce), we can get rid of the characteristic STRICTLY_MUTATIVE which introduces complexity into the API and implementation.<br>
</blockquote><div><br></div><div>Also nice.</div><div><br></div><div>--tim</div></div>