anchor.diff:          | SynExpr.LetOrUse(_, _, bindings, e, _) -> 
               List.iter walkBinding bindings 
               walkExpr e
  -        | SynExpr.TryWith(e, _, _, _, _, _, _) -> walkExpr e
  +        | SynExpr.TryWith(e, _, clauses, _, _, _, _) -> 
  +            List.iter walkClause clauses
  +            walkExpr e
           | SynExpr.TryFinally(e1, e2, _, _, _) -> List.iter walkExpr [e1; e2]
           | SynExpr.Lazy(e, _) -> walkExpr e
           | SynExpr.Sequential(_, _, e1, e2, _) -> List.iter walkExpr [e1; e2]
           | SynExpr.IfThenElse(e1, e2, e3, _, _, _, _) -> 
               List.iter walkExpr [e1; e2]
               e3 |> Option.iter walkExpr
  -        | SynExpr.LongIdentSet(_, e, _) -> walkExpr e
  +        | SynExpr.LongIdentSet(ident, e, _) -> 
  +            addLongIdentWithDots ident
  +            walkExpr e
           | SynExpr.DotGet(e, _, idents, _) -> 
               addLongIdentWithDots idents
               walkExpr e
  
positive.code:     let idents = ResizeArray<Range.range * Idents>()
      let addLongIdentWithDots (value: LongIdentWithDots) = 
          idents.Add (value.Range, value.Lid |> List.map string |> List.toArray)
  
      let (|ConstructorPats|) = function
          | Pats ps -> ps
  
negative.code:             walkExpr e1
              List.iter walkIndexerArg args
              walkExpr e2
          | SynExpr.NamedIndexedPropertySet(ident, e1, e2, _) -> 
              addLongIdentWithDots ident
              List.iter walkExpr [e1; e2]
          | SynExpr.DotNamedIndexedPropertySet(e1, ident, e2, e3, _) -> 
              addLongIdentWithDots ident
              List.iter walkExpr [e1; e2; e3]
          | SynExpr.TypeTest(e, t, _) -> 
              walkExpr e
              walkType t
  