anchor.diff:   * ([Iterable] or similar collection of values) should declare which operations
    * are allowed during an iteration.
    */
  -class ConcurrentModificationError implements Error {
  +class ConcurrentModificationError extends Error {
     /** The object that was modified in an incompatible way. */
     final Object modifiedObject;
   
  -  const ConcurrentModificationError([this.modifiedObject]);
  +  ConcurrentModificationError([this.modifiedObject]);
   
     String toString() {
       if (modifiedObject == null) {
  
positive.code:  * an [UnsupportedError] instead. This error is only intended for
   * use during development.
   */
  class UnimplementedError implements UnsupportedError {
    final String message;
    UnimplementedError([String this.message]);
    String toString() => (this.message != null
                          ? "UnimplementedError: $message"
                          : "UnimplementedError");
  
negative.code:  */
  class FallThroughError implements Error {
    const FallThroughError();
    StackTrace get stackTrace => null;
  }
  
  // TODO(lrn): Class description. Ensure that this is the class thrown by
  // both implementations, or move it to the one that uses it.
  class AbstractClassInstantiationError implements Error {
    final String _className;
    const AbstractClassInstantiationError(String this._className);
    StackTrace get stackTrace => null;
    String toString() => "Cannot instantiate abstract class: '$_className'";
  }
  
  
  /**
   * Error thrown by the default implementation of [:noSuchMethod:] on [Object].
  