anchor.diff:  
       let unstableSortInPlaceBy (projection: 'T -> 'U) (array : array<'T>) =
           let len = array.Length
  -        if len < 2 then ()
  -        else
  -            let keys = zeroCreateUnchecked array.Length
  -            for i = 0 to array.Length - 1 do
  +        if len > 1 then
  +            let keys = zeroCreateUnchecked len
  +            for i = 0 to len - 1 do
                   keys.[i] <- projection array.[i]
               Array.Sort<_, _>(keys, array, fastComparerForArraySort())
   
       let unstableSortInPlace (array : array<'T>) =
  +        if array.Length > 1 then 
  +            Array.Sort<_>(array, fastComparerForArraySort())
  +
  +    let stableSortWithKeysAndComparer (cFast:IComparer<'Key>) (c:IComparer<'Key>) (array:array<'T>) (keys:array<'Key>)  =
  +        // 'places' is an array or integers storing the permutation performed by the sort        
           let len = array.Length
  -        if len < 2 then ()
  -        else Array.Sort<_>(array, fastComparerForArraySort())
  -
  -    let stableSortWithKeysAndComparer (cFast:IComparer<'Key>) (c:IComparer<'Key>) (array:array<'T>) (keys:array<'Key>)  =
  -        // 'places' is an array or integers storing the permutation performed by the sort
  -        let places = zeroCreateUnchecked array.Length
  -        for i = 0 to array.Length - 1 do
  +        let places = zeroCreateUnchecked len
  +        for i = 0 to len - 1 do
               places.[i] <- i
           System.Array.Sort<_, _>(keys, places, cFast)
           // 'array2' is a copy of the original values
  
positive.code: 
          // Walk through any chunks where the keys are equal
          let mutable i = 0
          let len = array.Length
          let intCompare = fastComparerForArraySort<int>()
  
          while i < len do
  
negative.code: 
      let stableSortInPlaceBy (projection: 'T -> 'U) (array : array<'T>) =
          let len = array.Length
          if len > 1 then
              // 'keys' is an array storing the projected keys
              let keys = zeroCreateUnchecked len
              for i = 0 to len - 1 do
                  keys.[i] <- projection array.[i]
              stableSortWithKeys array keys
  
      let stableSortInPlace (array : array<'T>) =
          let len = array.Length
          if len > 1 then
              let cFast = LanguagePrimitives.FastGenericComparerCanBeNull<'T>
              match cFast with
              | null ->
  