anchor.diff:                          (env.varEnv, vPs)
                           ||> List.fold (fun varEnv (v,vP,_) ->
                               varEnv
  -                            |> Map.add v (vP |> asExpr)) }
  +                            |> Map.add v (vP |> asExpression)) }
   
               let vePs =
                   vPs
  
positive.code:             let linqAssignLower = Expression.Assign (linqIndexer, linqLowerValue)
              let linqCondition = Expression.LessThanOrEqual (linqIndexer, linqUpperValue)
              
              let envInner = { env with varEnv = Map.add indexer (linqIndexer |> asExpr) env.varEnv }
  
              let linqIteration = 
                  Expression.Block (
  
negative.code:             let tagE = 
                  match methInfo with 
                  | :? PropertyInfo as p -> 
                      Expression.Property(obj,p) |> asExpression
                  | :? MethodInfo as m -> 
                      Expression.Call((null:Expression),m,[| obj |]) |> asExpression
                  | _ -> failwith "unreachable case"
              Expression.Equal(tagE, Expression.Constant(unionCaseInfo.Tag)) |> asExpr
  
  