anchor.diff:  ///    with a [Stream].
   ///  * [FutureBuilder], which builds itself based on a snapshot from interacting
   ///    with a [Future].
  -// TODO(a14n): the type parameter should be <T extends Object> to enforce that retrieved data must not be null.
  -// But it breaks a lot of code in google3. See https://github.com/flutter/flutter/pull/64672#pullrequestreview-485199027
   @immutable
   class AsyncSnapshot<T> {
     /// Creates an [AsyncSnapshot] with the specified [connectionState],
  
positive.code: /// ```
  /// {@end-tool}
  // TODO(ianh): remove unreachable code above once https://github.com/dart-lang/sdk/issues/35520 is fixed
  class FutureBuilder<T extends Object> extends StatefulWidget {
    /// Creates a widget that builds itself based on the latest snapshot of
    /// interaction with a [Future].
    ///
  
negative.code: ///  * [StreamBuilderBase], which supports widget building based on a computation
  ///    that spans all interactions made with the stream.
  // TODO(ianh): remove unreachable code above once https://github.com/dart-lang/linter/issues/1139 is fixed
  class StreamBuilder<T> extends StreamBuilderBase<T, AsyncSnapshot<T>> {
    /// Creates a new [StreamBuilder] that builds itself based on the latest
    /// snapshot of interaction with the specified [stream] and whose build
    /// strategy is given by [builder].
  