anchor.diff:    /// assuming properties are pure computations. i.e. dealing with De Morgan's
     /// laws https://en.wikipedia.org/wiki/De_Morgan%27s_laws
     LinkedHashSet<ContradictoryComparisons> _findContradictoryComparisons(
  -      HashSet<Expression> comparisons, TokenType tokenType) {
  +      Set<Expression> comparisons, TokenType tokenType) {
       final Iterable<Expression> binaryExpressions =
           comparisons.where((e) => e is BinaryExpression).toSet();
       LinkedHashSet<ContradictoryComparisons> contradictions =
  
positive.code:             : TokenType.AMPERSAND_AMPERSAND);
  
      if (_contradictions.isEmpty) {
        HashSet<Expression> set = (binaryExpression != null
            ? _extractComparisons(testingExpression)
            : [testingExpression].toSet())
          ..addAll(truths)
  
negative.code: import 'package:analyzer/dart/ast/token.dart';
  import 'package:linter/src/util/boolean_expression_utilities.dart';
  
  void _addNodeComparisons(Expression node, Set<Expression> comparisons) {
    if (_isComparison(node)) {
      comparisons.add(node);
    } else if (_isBooleanOperation(node)) {
  