updated upperBound to return upper instead of lower bound from size hint

Small change that seems to fix fusion performance from #76.
Probably was forcing a bunch of extra allocing & copying.

                                       | HEAD          | Post-Patch
-------------------------------|-----------------|-----------------
Pure/toUpper/Text+tiny  | 457.8308 ns | 356.0704 ns
Pure/toUpper/Text+ascii | 4.543261 ms | 4.431779 ms