anchor.diff:              <@ 
                   fun (range:_1D) (buf:array<int>) (k:int*int)  -> 
                       let k2 = (3, 8)
  +                    let k3 = (2, 5uy)
  +                    let k4 = (1,2)
                       let x = fst k
                       let y = snd k
                       buf.[0] <- x
  
positive.code:                     buf.[1] <- int(fst k3)
              @>
          let run,check = checkResult command
          run _1d intInArr (10, 2) (4294967297L, 4uy) (float32(0), 9) 
          check intInArr [|10; 0; 2; 3|]
  
      [<Test>]
      member this.``fst, snd and new tuple``() = 
  
negative.code:     member this.``Arr of tuples``() = 
          let command = 
              <@ 
                  fun (range:_1D) (buf:array<int>)  (k1:int*int) (arr:array<int*int>) (arr2:array<int*byte>)  -> 
                      let k2 = (5, 6)
                      let k3 = (0, 1uy)
                      arr2.[0] <- k3
                      arr.[0] <- k1
                      arr.[1] <- k2
                      buf.[0] <- fst (arr.[0]) + snd (arr.[1]) + snd (arr.[2])
                      buf.[1] <- fst (arr2.[0])
              @>
          let run,check = checkResult command
          run _1d intInArr (1, 2) [|(1, 2); (3, 4); (5, 6)|] [|(1, 2uy)|]
          check intInArr [|13; 0; 2; 3|]
  
      [<Test>]
      member this.``Triple``() = 
  