anchor.diff:      open System
       open Microsoft.Win32
   
  -    let processId = lazy System.Diagnostics.Process.GetCurrentProcess().Id.ToString()
  -
  -    let getRandomVariableName () = 
  -        let procid = processId.Force()
  -        let randomAddendum = System.IO.Path.GetRandomFileName().Replace('.', '_')
  -        System.String.Format("mtp_{0}_{1}", procid, randomAddendum)
  +    let processId = lazy (System.Diagnostics.Process.GetCurrentProcess().Id.ToString())
  +
  +    let getSafeRandomVariableName (currentVariables: string []) =
  +        let varNames =  seq {
  +                            let procid = processId.Force()
  +                            let randomAddendum = System.IO.Path.GetRandomFileName().Replace('.', '_')
  +                            yield System.String.Format("mtp_{0}_{1}", procid, randomAddendum)
  +                        }
  +        varNames |> Seq.find (fun v -> not <| Array.exists (fun cv -> cv = v) currentVariables)
   
       let nullToOption =
           function
  
positive.code: 
      let correctFEvalResult (res: obj) =
          match res with
          // Fast for Value Type Arrays
          | :? Array as arr when (arr.Rank = 2 && arr.GetLength(0) = 1 && arr.GetLength(1) > 0
                                  && arr.GetType().GetElementType().IsValueType) -> 
              let copyBytes = System.Buffer.ByteLength(arr)
  
negative.code:     /// Note: Will create temporary variables with random names on the matlab side
      member t.CallFunctionWithHandles (name: string, outArgNames: string [], args: obj []) : IMatlabVariableHandle [] = 
          // Push non-handle variables to matlab, and keep track of which were pushed just for this function
          let currentVars = lazy (t.GetVariableInfos() |> Array.map (fun vi -> vi.Name))
          let inArgs =
              [| for arg in args do 
                      yield  match arg with 
                             | :? IMatlabVariableHandle as h -> (h.Name), false
                             | o -> 
                                  let varname = getSafeRandomVariableName (currentVars.Force()) 
                                  t.SetVariable(varname, o) // Side Effect: Sets variables matlab side
                                  varname, true
              |]   
  