anchor.diff:    final QueryProvider<K, R> provider;
   
     R call(QueryContext context, K key) {
  +    final result = context.callQuery(this, key);
  +    assert(result != null);
  +    return result;
  +  }
  +
  +  R execute(QueryContext context, K key) {
       final result = provider(context, key);
       assert(result != null);
       return result;
  
positive.code:   final GlobalQueryContext globalContext;
    QueryConfig get config => globalContext.config;
  
    R callQuery<K, R>(Query<K, R> query, K key) =>
        QueryContext(globalContext)._execute(query, key);
    R _execute<K, R>(Query<K, R> query, K key) {
      void reportErrors() =>
          globalContext._reportErrors(query.name, key, _reportedErrors);
  
      try {
        final result = query(this, key);
        reportErrors();
        return result;
      } on ReportedCompilerError catch (e) {
        _reportedErrors.add(e);
        reportErrors();
        throw _QueryFailedException();
      } catch (e, st) {
        _reportedErrors.add(CompilerError.internalError('$e\n\n$st'));
        reportErrors();
        throw _QueryFailedException();
      }
    }
  
    final _reportedErrors = <ReportedCompilerError>[];
    void reportError(ReportedCompilerError error) => _reportedErrors.add(error);
  }
  
  class _QueryFailedException implements Exception {}
  
negative.code:   final QueryConfig config;
  
    Option<R> callQuery<K, R>(Query<K, R> query, K key) {
      RecordedQueryCall result;
      try {
        result = QueryContext(this)._execute(query, key);
      } on _QueryFailedException catch (e) {
        result = e.recordedCall;
      }
  
      final dateTime = DateTime.now().toIso8601String().replaceAll(':', '-');
      final file = File('D:/p/candy/temp/call-${query.name}-$dateTime.json');
      final encoder = JsonEncoder.withIndent('  ', (object) => object.toString());
      file
        ..createSync(recursive: true)
        ..writeAsStringSync(encoder.convert(result.toJson()));
  
      return result.result != null ? Some(result.result as R) : None();
    }
  
    final Map<Tuple2<String, dynamic>, List<ReportedCompilerError>>
  