anchor.diff:     *
      * It is a more memory efficient way to do the grouping.
      * Function [f] takes an element of the iterable and returns a grouping value.
  +   * In this case the Iterable x is the actual table.
      */
     Map _groupByIndex(Iterable x, Function f) {
       Map result = new LinkedHashMap(
  
positive.code:         hashCode: (e) => _rowEquality.hash(e));
  
      int ind = 0;
      x.forEach((v) {
        result.putIfAbsent(f(v), () => []).add(ind);
        ind += 1;
      });
  
  
negative.code:   }
  
    /**
     * Apply function [f] to each column (or possibly to a subset of columns
     * as specified by [columnNames]).
     */
    Table columnApply(Function f, {List<String> variableNames}) {
      if (variableNames == null) variableNames = _colnames;
  