anchor.diff:      abstract Dev:               ITensorDevice
       /// shape
       abstract Shape:             int64 list
  -    /// stride
  -    abstract Stride:            int64 list
  -    /// stride
  -    abstract Offset:            int64 
       /// number of dimensions
       abstract NDims:             int
       /// number of elements
  
positive.code:     /// <seealso cref="NElems"/>
      static member inline nElems (a: #ITensor) = a.NElems
  
      /// strides
      member inline this.Stride = this.Layout.Stride
  
      /// strides
      static member inline stride (a: #ITensor) = a.Stride
  
      /// offset
      member inline this.Offset = this.Layout.Offset
  
      /// offset
      static member inline offset (a: #ITensor) = a.Offset
  
      /// type of data stored in this tensor
      member inline this.DataType = typeof<'T>
  
      /// type of data stored in the specified tensor
      static member inline dataType (a: #ITensor) = a.DataType
  
      /// a tensor with the same storage but new layout
  
negative.code:         member this.Backend = this.Backend
          member this.Layout = this.Layout
          member this.Shape = this.Shape
          member this.Stride = this.Layout.Stride
          member this.Offset = this.Layout.Offset
          member this.NDims = this.NDims
          member this.NElems = this.NElems
          member this.Relayout layout = this.Relayout layout :> ITensorFrontend<'T>
  