Following advise from
https://llvm.org/docs/ProgrammersManual.html#llvm-adt-smallvector-h
This revision removes the size hints from SmallVector (unless we are
certain of the resulting number of elements). Also, this replaces
SmallVector references with SmallVectorImpl references.
I remember mentioning this before and Peiming had a good response (though I don't recall what it was), but: Why not use MutableArrayRef?