anchor.diff:  [<Fact>]
   let ``function with two output params should work correctly with right out execute-get`` () =  
       AssertNoVariableChanges (fun _ ->
  -        let m,n = Toolboxes.matlab.elmat.size([|1.0;2.0;3.0;4.0;5.0|]) |> EG2
  +        let m,n = M.size([|1.0;2.0;3.0;4.0;5.0|]) |> EG2
           Assert.Equal(1.0, m :?> double)
           Assert.Equal(5.0, n :?> double)
       )
  
positive.code:     AssertNoVariableChanges (fun _ ->
          use nine = Data.UnsafeOverwriteVariable "nine" 9.0
          use two  = Data.UnsafeOverwriteVariable "two"  2.0
          let (EG1(res_untyped)) = Toolboxes.matlab.elfun.nthroot(nine, two) 
          Assert.Equal(3.0, res_untyped :?> double)
      )
  
  
  [<Fact>] 
  let ``function with two output params should work correctly with lefthand side execute-get`` () =
      AssertNoVariableChanges (fun _ -> 
          let (EG2(m,n)) = Toolboxes.matlab.elmat.size([|1.0;2.0;3.0;4.0;5.0|])
          Assert.Equal(1.0, m :?> double)
          Assert.Equal(5.0, n :?> double)
      )
  
negative.code: [<Fact>]
  let ``simple function calls should execute and return a single correct answer with execute and retrieve helper`` () =
      AssertNoVariableChanges (fun _ -> 
          let (EG1(res_untyped)) = M.nthroot(9.0, 2.0) 
          Assert.Equal(3.0, res_untyped :?> double)
      )
  
  