anchor.diff:  and MakeOptimizedSystemStringConcatCall cenv env m args =
       let rec optimizeArg e accArgs =
           match e, accArgs with
  -        | Expr.Op(TOp.ILCall(_, _, _, _, _, _, _, methRef, _, _, _), _, [ Expr.Op(TOp.Array, _, args, _) ], _), _ when IsSystemStringConcatArray methRef ->
  +        | Expr.Op(TOp.ILCall(_, _, _, _, _, _, _, mref, _, _, _), _, [ Expr.Op(TOp.Array, _, args, _) ], _), _ when IsILMethodRefSystemStringConcatArray cenv.g.ilg mref ->
               optimizeArgs args accArgs
   
  -        | Expr.Op(TOp.ILCall(_, _, _, _, _, _, _, methRef, _, _, _), _, args, _), _ when IsSystemStringConcatOverload methRef ->
  +        | Expr.Op(TOp.ILCall(_, _, _, _, _, _, _, mref, _, _, _), _, args, _), _ when IsILMethodRefSystemStringConcatOverload cenv.g.ilg mref ->
               optimizeArgs args accArgs
   
           // Optimize string constants, e.g. "1" + "2" will turn into "12"
  
positive.code:     | _ -> 
          //printfn "Not eliminating because no Run found"
          None
                  
  let IsSystemStringConcatOverload (methRef: ILMethodRef) =
      methRef.Name = "Concat" && methRef.DeclaringTypeRef.FullName = "System.String" && 
      methRef.ReturnType.BasicQualifiedName = "System.String" &&
      methRef.ArgTypes |> List.forall(fun ilty -> ilty.BasicQualifiedName = "System.String")
  
  let IsSystemStringConcatArray (methRef: ILMethodRef) =
      methRef.Name = "Concat" && methRef.DeclaringTypeRef.FullName = "System.String" && 
      methRef.ReturnType.BasicQualifiedName = "System.String" &&
      methRef.ArgTypes.Length = 1 && methRef.ArgTypes.Head.BasicQualifiedName = "System.String[]"
      
  //-------------------------------------------------------------------------
  // The traversal
  
negative.code:             mkStaticCall_String_Concat_Array cenv.g m arg
  
      match e with
      | Expr.Op(TOp.ILCall(_, _, _, _, _, _, _, mref, _, _, _) as op, tyargs, args, m) when IsILMethodRefSystemStringConcatOverload cenv.g.ilg mref || IsILMethodRefSystemStringConcatArray cenv.g.ilg mref ->
          OptimizeExprOpReductions cenv env (op, tyargs, args, m)
      | _ ->
          OptimizeExpr cenv env e
  