anchor.diff:    Token next() {
       Token t = token;
       endOffset = t.endOffset;
  -    if (pushbackBuffer != null) {
  -      token = pushbackBuffer;
  -      pushbackBuffer = null;
  -    } else {
  -      token = lexer.scan();
  -    }
  +    token = lexer.scan();
       return t;
     }
     
  
positive.code:     return new ExpressionStatement(exp)..start=start..end=endOffset..line=exp.line;
    }
    
    Statement parseIf() {
      int start = token.startOffset;
      int line = token.line;
  
negative.code:   Lexer lexer;
    Token token;
    
    /// End offset of the last consumed token (i.e. not the one in [token] but the one before that)
    int endOffset;
    
    dynamic fail({Token tok, String expected, String message}) {
      if (tok == null)
  