anchor.diff:  
         var completer = new Completer();
         var list = [];
  -      // TODO(jmesserly): use tear off. For now this is a workaround for:
  -      // https://github.com/dart-lang/dev_compiler/issues/269
  -      f().listen((x) => list.add(x),
  +      f().listen(list.add,
             onError: (v) => list.add("$v"), onDone: completer.complete);
         return completer.future.whenComplete(() {
           expect(list, equals([1, "2"]));
  
positive.code:       }).whenComplete(() {
          return expectList(f(2), [2]);
        });
      });*/
  
      test("dead-code return", () {
        f() async* {
  
negative.code:         yield 2;
        }
  
        var res = f().forEach(list.add);
        list.add(0);
        return res.whenComplete(() {
          expect(list, equals([0, 1, 2]));
  