anchor.diff:          | SynPat.OptionalVal(_, _) ->
               false
           | SynPat.Or(leftPat, rightPat, _) -> patIsCandidate leftPat && patIsCandidate rightPat
  -        | SynPat.Ands(innerPatList, _) -> innerPatList
  -                                          |> List.exists (patIsCandidate >> not)
  -                                          |> not
  +        | SynPat.Ands(innerPatList, _) -> List.forall patIsCandidate innerPatList
           | SynPat.LongIdent(_, _, _, _, _, _) -> true
           | SynPat.Tuple(_, _) -> false
           | SynPat.ArrayOrList(_, _, _) -> false
  
positive.code:                                    MatchedExpr = synExpr
                                     Clauses = synMatchClauseList }
                          | _ -> None
                  )
  
              | SynExpr.App(_exprAtomicFlag, _isInfix, synExpr1, synExpr2, _range) ->
  
negative.code:         | SynPat.DeprecatedCharRange(_, _, _)
          | SynPat.FromParseError(_, _) -> false
  
          | SynPat.Tuple(innerPatList, _) -> List.forall checkPattern innerPatList
              
          | SynPat.Record(recordInnerPatList, _) ->
              recordInnerPatList
              |> List.map (fun (_, innerPat) -> innerPat)
              |> List.forall checkPattern
  
          | SynPat.OptionalVal(_, _) -> true
          | SynPat.Wild(_) -> true
  