anchor.diff:    }
   
     /**
  -   * Apply function [f] to each column (possibly to a subset of columns specified by
  -   * [columnNames], by certain groups specified by [byColumnNames]),
  +   * 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;
  
positive.code:    *
     * It is a more memory efficient way to do the grouping.
     * Function [f] takes an element of the iterable and returns a grouping value.
     */
    Map _groupByIndex(Iterable x, Function f) {
      Map result = new LinkedHashMap(
  
negative.code:         hashCode: (e) => _rowEquality.hash(e));
  
      int ind = 0;
      x.forEach((Map row) {
        result.putIfAbsent(f(row), () => []).add(ind);
        ind += 1;
      });
  
  