anchor.diff:    /// }
     /// ```
     ///
  -  /// While the idea of not rebuilding the widget if something else changes is
  -  /// good, this should not be done with [read].
  +  /// While the idea of not rebuilding the widget if unnecessary is good,
  +  /// this should not be done with [read].
     /// Relying on [read] for optimisations is very brittle and dependent
     /// on an implementation detail.
     ///
  -  /// **CONSIDER** using [Computed]/`select` for filtering unwanted rebuilds
  +  /// **CONSIDER** using [Provider] or `select` for filtering unwanted rebuilds:
     ///
     /// ```dart
     /// Widget build(BuildContext context) {
  
positive.code:   /// }
    /// ```
    ///
    /// While more verbose than [read], using [Computed]/`select` is a lot safer.
    /// It does not rely on implementation details on `Model`, and it makes
    /// impossible to have a bug where our UI does not refresh.
    T read<T>(ProviderBase<Object, T> provider) {
  
negative.code: extension BuildContextX on BuildContext {
    /// Reads a provider without listening to it.
    ///
    /// **AVOID** calling [read] inside build if the value is used only for events:
    ///
    /// ```dart
    /// Widget build(BuildContext context) {
  