anchor.diff:  /// For a future that completes successfully with data, the [builder] may
   /// be called with either both or only the latter of the following snapshots:
   ///
  -/// * `new AsyncSnapshot<String>(ConnectionState.waiting, null, null)`
  -/// * `new AsyncSnapshot<String>(ConnectionState.done, 'some data', null)`
  +/// * `AsyncSnapshot<String>.withData(ConnectionState.waiting, null)`
  +/// * `AsyncSnapshot<String>.withData(ConnectionState.done, 'some data')`
   ///
   /// For a future completing with an error, the [builder] may be called with
   /// either both or only the latter of:
   ///
  -/// * `new AsyncSnapshot<String>(ConnectionState.waiting, null, null)`
  -/// * `new AsyncSnapshot<String>(ConnectionState.done, null, 'some error')`
  +/// * `AsyncSnapshot<String>.withData(ConnectionState.waiting, null)`
  +/// * `AsyncSnapshot<String>.withError(ConnectionState.done, 'some error')`
   ///
   /// The data and error fields of the snapshot change only as the connection
   /// state field transitions from `waiting` to `done`, and they will be retained
  
positive.code: /// of the following snapshots that includes the last one (the one with
  /// ConnectionState.done):
  ///
  /// * `new AsyncSnapshot<int>(ConnectionState.waiting, null, null)`
  /// * `new AsyncSnapshot<int>(ConnectionState.active, 0, null)`
  /// * `new AsyncSnapshot<int>(ConnectionState.active, 1, null)`
  /// * ...
  /// * `new AsyncSnapshot<int>(ConnectionState.active, 9, null)`
  /// * `new AsyncSnapshot<int>(ConnectionState.done, 9, null)`
  ///
  /// The actual sequence of invocations of [build] depends on the relative timing
  /// of events produced by the stream and the build rate of the Flutter pipeline.
  
negative.code: /// old future has already completed successfully with data as above, changing
  /// configuration to a new future results in snapshot pairs of the form:
  ///
  /// * `AsyncSnapshot<String>.withData(ConnectionState.none, 'some data')`
  /// * `AsyncSnapshot<String>.withData(ConnectionState.waiting, 'some data')`
  ///
  /// In general, the latter will be produced only when the new future is
  /// non-null. The former only when the old future is non-null.
  