anchor.diff:      }
     }
   
  -  /**
  -   * Get the row i of the table as a Map.
  -   */
  +  /// Get the row i of the table as a Map.
     Map row(int i) {
  -    Map res = {};
  -    for (int j = 0; j < ncol; j++) res[_colnames[j]] = column(j).data[i];
  +    var res = {};
  +    for (var j = 0; j < ncol; j++) {
  +      res[_colnames[j]] = column(j).data[i];
  +    }
   
       return res;
     }
   
  -  /**
  -   * Get column i.
  -   */
  +  /// Get column i.
     Column column(int j) => _data[j];
   
     Column operator [](String columnName) => _data[_colnames.indexOf(columnName)];
   
  -  /**
  -   * Get the number of rows in the table.
  -   */
  +  /// Get the number of rows in the table.
     int get nrow => (_data.isEmpty) ? 0 : _data.first.data.length;
   
  -  /**
  -   * Get the number of columns in the table.
  -   */
  +  /// Get the number of columns in the table.
     int get ncol => (_colnames.isEmpty) ? 0 : _colnames.length;
   
  -  /**
  -   * Return the names of table columns as a List.
  -   */
  +  /// Return the names of table columns as a List.
     List<String> get colnames => _colnames;
   
  -  /**
  -   * Check if the table is empty.  You can have columns set up, but no data in them.
  -   */
  +  /// Check if the table is empty.  You can have columns set up, but no data in them.
     bool get isEmpty => (nrow == 0) ? true : false;
   
  -  /**
  -   * Change the name of column [i] to [name].
  -   * Throws if name is already taken.
  -   */
  +  /// Change the name of column [i] to [name].
  +  /// Throws if name is already taken.
     void setColname(int j, String name) {
       if (_colnames.contains(name)) {
         throw 'Column ${name} already exists';
  
positive.code:     _colnames[j] = name;
    }
  
    /**
     * 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;
  
  
negative.code:     return t;
    }
  
    /// Row bind this table with another table.  It adds the observations from [other]
    /// after the observations of this table.
    ///
    /// If [strict] is `true`, the column names must match exactly.
    ///
    /// If [strict] is `false`, new columns are created as needed and filled with `null`s.
    ///
    /// The columns of the [other] table don't have to be in the same order as the columns
    /// of this table.
    Table rbind(Table other, {bool strict: true}) {
      if (strict &&
          !_setEquality.equals(colnames.toSet(), other.colnames.toSet()))
  