anchor.diff:          let i3max = defaultArg i3max (t.Shape.[3] - 1)
           let bounds = array2D [[i0min; i0max]; [i1min; i1max]; [i2min; i2max]; [i3min; i3max]]
           t.GetSlice(bounds)
  -
       member t.GetSlice(i0:int, i1:int, i2min:int option, i2max:int option, i3:int) =
           let i0min = i0
           let i0max = i0
  
positive.code:         let e = (a - a.Max().NoDiff()).Exp()
          let esum = e.Sum(dim, keepDim=true).Repeat(dim, a.Shape.[dim])
          e / esum
  
      member t.Softmax(dim:int) = Tensor.Softmax(t, dim)
  
      member t.Reverse(?value:Tensor, ?zeroDerivatives:bool) =
  
negative.code:         let i4max = i4
          let bounds = array2D [[i0min; i0max]; [i1min; i1max]; [i2min; i2max]; [i3min; i3max]; [i4min; i4max]]
          t.GetSlice(bounds)
      member t.GetSlice(i0min:int option, i0max:int option, i1min:int option, i1max:int option, i2min:int option, i2max:int option, i3:int, i4min:int option, i4max:int option) =
          let i0min = defaultArg i0min 0
          let i0max = defaultArg i0max (t.Shape.[0] - 1)
  