anchor.diff:    /// This has the same efficiency as the previous anti-pattern, but does not
     /// suffer from the drawback of being brittle.
     ///
  -  /// **DON'T** use [read] for creating widgets with a value that never changes
  +  /// **AVOID** using [read] for creating widgets with a value that never changes
     ///
     /// ```dart
     /// Widget build(BuildContext context) {
  
positive.code: extension BuildContextX on BuildContext {
    /// Reads a provider without listening to it.
    ///
    /// This method should not be called inside the `build` method of a widget.
    ///
    /// **DON'T** call [read] inside build if the value is used only for events:
    ///
    /// ```dart
    /// Widget build(BuildContext context) {
  
negative.code:   /// }
    /// ```
    ///
    /// While more verbose than [read], using [Provider]/`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) {
  