anchor.diff:      // Hence we need to sort it before we emit any entries in GenericParamConstraint\CustomAttributes that are attached to generic params. 
       // Note this mutates the rows in a table.  'SetRowsOfTable' clears 
       // the key --> index map since it is no longer valid 
  -    cenv.GetTable(TableNames.GenericParam).SetRowsOfSharedTable (SortTableRows TableNames.GenericParam (cenv.GetTable(TableNames.GenericParam).RowsOfSharedTable))
  +    cenv.GetTable(TableNames.GenericParam).SetRowsOfSharedTable (SortTableRows TableNames.GenericParam (cenv.GetTable(TableNames.GenericParam).GenericRowsOfTable))
       GenTypeDefsPass4 [] cenv tds
       reportTime cenv.showTimes "Module Generation Pass 4"
   
  
positive.code: let TableRequiresSorting tab = 
      List.memAssoc tab sortedTableInfo 
  
  let SortTableRows tab (rows:SharedRow[]) = 
      assert (TableRequiresSorting tab)
      let rows = rows |> Array.map (fun row -> row.GenericRow)
      let col = List.assoc tab sortedTableInfo
      rows 
          // This needs to be a stable sort, so we use Lsit.sortWith
  
negative.code:       Array.init 64 (fun i -> 
            let tab = tables.[i]
            let tabName = TableName.FromIndex i
            let rows = tab.GenericRowsOfTable
            if TableRequiresSorting tabName then SortTableRows tabName rows else rows)
        
      reportTime showTimes "Sort Tables"
  
  