anchor.diff:        rule.reportLint(node);
         return;
       }
  -    node
  -        .traverseNodesInDFS(excludeCriteria: _isFunctionExpression)
  -        .where(_isReturnNull)
  -        .forEach(rule.reportLint);
  +
  +    node.accept(_BodyVisitor(rule));
     }
   }
  
positive.code:       registry.addFunctionExpression(this, visitor);
        registry.addMethodDeclaration(this, visitor);
      }
    }
  }
  
  
negative.code: 
  ''';
  
  bool _isPrimitiveType(DartType type) =>
      type is InterfaceType &&
      (type.isDartCoreBool ||
          type.isDartCoreDouble ||
          type.isDartCoreInt ||
          type.isDartCoreNum);
  
  class AvoidReturningNull extends LintRule {
    AvoidReturningNull()
  