Merge changes I054ef2f6,Id223a6fc,I78397517

* changes:
  FTL: Optimize SmallVector
  FTL: Add SmallVector<T, N>
  FTL: Make StaticVector::replace infallible