anchor.diff:  
     @override
     void append(LogRecord record, Formatter<String> formatter) {
  -    print(formatter(record));
  +    print(formatter.call(record));
     }
   }
   
  
positive.code: 
    @override
    void append(LogRecord record, Formatter<Object> formatter) {
      messages.add(formatter(record));
    }
  }
  
negative.code:   void stop() => _subscriptions.forEach((s) => s.cancel());
  }
  
  /// Interface defining log formatter.
  abstract class Formatter<T> {
    /// Returns a message of type T based on provided [LogRecord].
    T call(LogRecord record);
  }
  
  /// Formatter accepts a [LogRecord] and returns a T
  abstract class FormatterBase<T> extends Formatter<T> {
    /// Formats a given [LogRecord] returning type T as a result
    T call(LogRecord record);
  }
  