anchor.diff:                      if not <| isTransparentIdentifier first then existing.Add(first)
   
                       let right' = this.Visit(right.Arguments.Last())
  -                    let left' = Expression.Parameter(right'.Type, right.Members.Last().Name)
  +                    let left' = Expression.Parameter(right'.Type, generated(right.Members.Last().Name))
                       mappings.Add(left, left')
                       Expression.Assign(left', right') :> _
                   | TransparentIdentifierIdentityAssignment(ti1, ti2) ->
  
positive.code:                 else
                      None
  
  
              let mappings = Dictionary<ParameterExpression, ParameterExpression>()
              let existing = List<ParameterExpression>()
  
negative.code:             override this.VisitMember(expr : MemberExpression) =
                  match expr.Member.MemberType with
                  | MemberTypes.Property when isAnonymousType expr.Member.DeclaringType ->
                      let p = mappings.Values.SingleOrDefault(fun p -> p.Name = generated expr.Member.Name) //Expression.Parameter(expr.Type, expr.Member.Name)
                      if p = null then 
                          existing.Single(fun p -> p.Name =  expr.Member.Name)  :> _
                      else 
                          p :> _
                  | _ -> 
  