anchor.diff:  
     @override
     void _visit(Harness h) {
  -    h._flow.ifStatement_conditionBegin();
  -    h._flow.ifStatement_thenBegin(condition.._visit(h), this);
  -    ifTrue._visit(h);
  -    if (ifFalse == null) {
  -      h._flow.ifStatement_end(false);
  -    } else {
  -      h._flow.ifStatement_elseBegin();
  -      ifFalse!._visit(h);
  -      h._flow.ifStatement_end(true);
  -    }
  +    h._typeAnalyzer.analyzeIfStatement(this, condition, ifTrue, ifFalse);
     }
   }
   
  
positive.code: 
    @override
    void _visit(Harness h) {
      expr._visit(h);
    }
  }
  
  
negative.code: 
    @override
    Type _visit(Harness h) {
      return h._typeAnalyzer.analyzeThisPropertyGet(this, propertyName);
    }
  }
  
  