anchor.diff:    R _runBinary<R, T1, T2>(Zone self, ZoneDelegate parent, Zone zone,
         R f(T1 a1, T2 a2), T1 a1, T2 a2) {
       if (zone[_measurer] != this) return parent.runBinary(zone, f, a1, a2);
  -    CompilerTask previous = _start();
  +    CompilerTask? previous = _start();
       try {
         return parent.runBinary(zone, f, a1, a2);
       } finally {
  
positive.code: 
    Iterable<String> get subtasks => _subtasks.keys;
  
    int getSubtaskTime(String subtask) => _subtasks[subtask].timing;
  
    bool getSubtaskIsRunning(String subtask) => _subtasks[subtask].isRunning;
  
    /// Returns the metrics for this task.
    Metrics get metrics => Metrics.none();
  
negative.code:   /// Call this when the eventloop returns control to us.
    void stopAsyncWallClock() {
      if (_currentAsyncTask != null) {
        _currentAsyncTask!._watch?.stop();
      }
      _asyncWallClock.stop();
    }
  