anchor.diff:      }
       return result.copyWithOutcome(outcome);
     }
  +
  +  void cleanUp(TestDescription description, Result result) {}
   }
   
   abstract class Step<I, O, C extends ChainContext> {
  
positive.code:               return doStep(result.output);
              }
            }
            result =
                processTestResult(description, result, lastStep == lastStepRun);
            if (!expectedOutcomes.contains(result.outcome) &&
  
negative.code:         } else {
            future = new Future.value(null);
          }
          future = future.then((_currentResult) async {
            Result currentResult = _currentResult;
            if (currentResult != null) {
              logStepComplete(completed, unexpectedResults.length,
  