**** New definitions: T, type: i8[*]
**** New definitions: T2, type: i8[*,*]
**** New definitions: n, type: i8?
**** New definitions: full, type: (i8?, i8?, i8?)
**** New definitions: N1, type: i8

> T
T : i8[*]
BndKind:Global, Type:i8[*], Bnd:(Global(T))
Func sig: (T:i8[*]) to i8[*]
Ten<i8>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
###
> (T[full], T[4:10], T[2:9:2], T[2:9:3], T[9:2:3], T[2:9:100], T[100:20], T[^2:^9:3], T[^2:^9:-3], T[^100:^2], T[^2:^100])
(T[full], T[4:10], T[2:9:2], T[2:9:3], T[9:2:3], T[2:9:100], T[100:20], T[^2:^9:3], T[^2:^9:-3], T[^100:^2], T[^2:^100]) : (i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*])
BndKind:Tuple, Type:(i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*]), Bnd:((GetSlice(Global(T), Slice(Global(full))):i8[*], GetSlice(Global(T), Slice(4:i8:10:i8:null:i8?)):i8[*], GetSlice(Global(T), Slice(2:i8:9:i8:2:i8)):i8[*], GetSlice(Global(T), Slice(2:i8:9:i8:3:i8)):i8[*], GetSlice(Global(T), Slice(9:i8:2:i8:3:i8)):i8[*], GetSlice(Global(T), Slice(2:i8:9:i8:100:i8)):i8[*], GetSlice(Global(T), Slice(100:i8:20:i8:null:i8?)):i8[*], GetSlice(Global(T), Slice(^(2:i8):^(9:i8):3:i8)):i8[*], GetSlice(Global(T), Slice(^(2:i8):^(9:i8):-3:i8)):i8[*], GetSlice(Global(T), Slice(^(100:i8):^(2:i8):null:i8?)):i8[*], GetSlice(Global(T), Slice(^(2:i8):^(100:i8):null:i8?)):i8[*]):(i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*]))
Func sig: (T:i8[*], full:(i8?, i8?, i8?)) to (i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
    Ten<i8>(6)<1> [4, 5, 6, 7, 8, 9],
    Ten<i8>(4)<2> [2, 4, 6, 8],
    Ten<i8>(3)<3> [2, 5, 8],
    Ten<i8>(0)<0> [],
    Ten<i8>(1)<0> [2],
    Ten<i8>(0)<0> [],
    Ten<i8>(0)<0> [],
    Ten<i8>(3)<-3> [10, 7, 4],
    Ten<i8>(10)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
    Ten<i8>(11)<-1> [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0])
###
> (T[1:10:0], T[10:1:0], T[^1:^10:0], T[^10:^1:0])
(T[1:10:0], T[10:1:0], T[^1:^10:0], T[^10:^1:0]) : (i8[*], i8[*], i8[*], i8[*])
BndKind:Tuple, Type:(i8[*], i8[*], i8[*], i8[*]), Bnd:((GetSlice(Global(T), Slice(1:i8:10:i8:0:i8)):i8[*], GetSlice(Global(T), Slice(10:i8:1:i8:0:i8)):i8[*], GetSlice(Global(T), Slice(^(1:i8):^(10:i8):0:i8)):i8[*], GetSlice(Global(T), Slice(^(10:i8):^(1:i8):0:i8)):i8[*]):(i8[*], i8[*], i8[*], i8[*]))
Func sig: (T:i8[*]) to (i8[*], i8[*], i8[*], i8[*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(9)<1> [1, 2, 3, 4, 5, 6, 7, 8, 9],
    Ten<i8>(9)<-1> [10, 9, 8, 7, 6, 5, 4, 3, 2],
    Ten<i8>(9)<-1> [11, 10, 9, 8, 7, 6, 5, 4, 3],
    Ten<i8>(9)<1> [2, 3, 4, 5, 6, 7, 8, 9, 10])
###
> T[1:*2:2]
T[1:*2:2] : i8[*]
BndKind:TensorSlice, Type:i8[*], Bnd:(GetSlice(Global(T), Slice(1:i8:*(2:i8):2:i8)):i8[*])
Func sig: (T:i8[*]) to i8[*]
Ten<i8>(2)<2> [1, 3]
###
> T[11:*2:-3]
T[11:*2:-3] : i8[*]
BndKind:TensorSlice, Type:i8[*], Bnd:(GetSlice(Global(T), Slice(11:i8:*(2:i8):-3:i8)):i8[*])
Func sig: (T:i8[*]) to i8[*]
Ten<i8>(2)<-3> [11, 8]
###
> T[1:^*2:2]
T[1:^*2:2] : i8[*]
BndKind:TensorSlice, Type:i8[*], Bnd:(GetSlice(Global(T), Slice(1:i8:^*(2:i8):2:i8)):i8[*])
Func sig: (T:i8[*]) to i8[*]
Ten<i8>(4)<2> [1, 3, 5, 7]
###
> T[11:*^1:-3]
T[11:^*1:-3] : i8[*]
BndKind:TensorSlice, Type:i8[*], Bnd:(GetSlice(Global(T), Slice(11:i8:^*(1:i8):-3:i8)):i8[*])
Func sig: (T:i8[*]) to i8[*]
Ten<i8>(3)<-3> [11, 8, 5]
###
> T[11:*^N1:-3]
T[11:^*N1:-3] : i8[*]
BndKind:TensorSlice, Type:i8[*], Bnd:(GetSlice(Global(T), Slice(11:i8:^*(Global(N1)):-3:i8)):i8[*])
Func sig: (T:i8[*], N1:i8) to i8[*]
Ten<i8>(4)<-3> [11, 8, 5, 2]
###
> T[::0x8000_0000_0000_0000L]
T[::9223372036854775808] : i8[*]
BndKind:TensorSlice, Type:i8[*], Bnd:(GetSlice(Global(T), Slice(null:i8?:null:i8?:-9223372036854775808:i8)):i8[*])
Func sig: (T:i8[*]) to i8[*]
Ten<i8>(1)<0> [11]
###
> T[::0x7FFF_FFFF_FFFF_FFFFL]
T[::9223372036854775807] : i8[*]
BndKind:TensorSlice, Type:i8[*], Bnd:(GetSlice(Global(T), Slice(null:i8?:null:i8?:9223372036854775807:i8)):i8[*])
Func sig: (T:i8[*]) to i8[*]
Ten<i8>(1)<0> [0]
###
> T2[1:1][3, :]
T2[1:1][3, :] : i8[*]
BndKind:TensorSlice, Type:i8[*], Bnd:(GetSlice(GetSlice(Global(T2), Slice(1:i8:1:i8:null:i8?), Slice(null:i8?:null:i8?:null:i8?)):i8[*,*], Index(3:i8, None), Slice(null:i8?:null:i8?:null:i8?)):i8[*])
Func sig: (T2:i8[*,*]) to i8[*]
Ten<i8>(4)<0> [0, 0, 0, 0]
###

**** New definitions: q1, type: i8?
**** New definitions: q7, type: i8?
**** New definitions: q10, type: i8?

> (T[3:q7], T[3:^q1], T[^10:q7], T[10:^q1:0], T[10:q7:0])
(T[3:q7], T[3:^q1], T[^10:q7], T[10:^q1:0], T[10:q7:0]) : (i8[*], i8[*], i8[*], i8[*], i8[*])
BndKind:Tuple, Type:(i8[*], i8[*], i8[*], i8[*], i8[*]), Bnd:((GetSlice(Global(T), Slice(3:i8:Global(q7):null:i8?)):i8[*], GetSlice(Global(T), Slice(3:i8:^(Global(q1)):null:i8?)):i8[*], GetSlice(Global(T), Slice(^(10:i8):Global(q7):null:i8?)):i8[*], GetSlice(Global(T), Slice(10:i8:^(Global(q1)):0:i8)):i8[*], GetSlice(Global(T), Slice(10:i8:Global(q7):0:i8)):i8[*]):(i8[*], i8[*], i8[*], i8[*], i8[*]))
Func sig: (T:i8[*], q7:i8?, q1:i8?) to (i8[*], i8[*], i8[*], i8[*], i8[*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(4)<1> [3, 4, 5, 6],
    Ten<i8>(8)<1> [3, 4, 5, 6, 7, 8, 9, 10],
    Ten<i8>(5)<1> [2, 3, 4, 5, 6],
    Ten<i8>(1)<0> [10],
    Ten<i8>(3)<-1> [10, 9, 8])
###
> (T[q7:10], T[^q7:12], T[^q7:^1], T[^q7:10:0], T[q10:7:0])
(T[q7:10], T[^q7:12], T[^q7:^1], T[^q7:10:0], T[q10:7:0]) : (i8[*], i8[*], i8[*], i8[*], i8[*])
BndKind:Tuple, Type:(i8[*], i8[*], i8[*], i8[*], i8[*]), Bnd:((GetSlice(Global(T), Slice(Global(q7):10:i8:null:i8?)):i8[*], GetSlice(Global(T), Slice(^(Global(q7)):12:i8:null:i8?)):i8[*], GetSlice(Global(T), Slice(^(Global(q7)):^(1:i8):null:i8?)):i8[*], GetSlice(Global(T), Slice(^(Global(q7)):10:i8:0:i8)):i8[*], GetSlice(Global(T), Slice(Global(q10):7:i8:0:i8)):i8[*]):(i8[*], i8[*], i8[*], i8[*], i8[*]))
Func sig: (T:i8[*], q7:i8?, q10:i8?) to (i8[*], i8[*], i8[*], i8[*], i8[*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(3)<1> [7, 8, 9],
    Ten<i8>(7)<1> [5, 6, 7, 8, 9, 10, 11],
    Ten<i8>(6)<1> [5, 6, 7, 8, 9, 10],
    Ten<i8>(5)<1> [5, 6, 7, 8, 9],
    Ten<i8>(3)<-1> [10, 9, 8])
###
> (T[q7:q10], T[^q7:q10], T[^q7:^q1], T[^q7:q10:0], T[q10:q7:0])
(T[q7:q10], T[^q7:q10], T[^q7:^q1], T[^q7:q10:0], T[q10:q7:0]) : (i8[*], i8[*], i8[*], i8[*], i8[*])
BndKind:Tuple, Type:(i8[*], i8[*], i8[*], i8[*], i8[*]), Bnd:((GetSlice(Global(T), Slice(Global(q7):Global(q10):null:i8?)):i8[*], GetSlice(Global(T), Slice(^(Global(q7)):Global(q10):null:i8?)):i8[*], GetSlice(Global(T), Slice(^(Global(q7)):^(Global(q1)):null:i8?)):i8[*], GetSlice(Global(T), Slice(^(Global(q7)):Global(q10):0:i8)):i8[*], GetSlice(Global(T), Slice(Global(q10):Global(q7):0:i8)):i8[*]):(i8[*], i8[*], i8[*], i8[*], i8[*]))
Func sig: (T:i8[*], q7:i8?, q10:i8?, q1:i8?) to (i8[*], i8[*], i8[*], i8[*], i8[*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(3)<1> [7, 8, 9],
    Ten<i8>(5)<1> [5, 6, 7, 8, 9],
    Ten<i8>(6)<1> [5, 6, 7, 8, 9, 10],
    Ten<i8>(5)<1> [5, 6, 7, 8, 9],
    Ten<i8>(3)<-1> [10, 9, 8])
###
> (T[0:10:1], T[n:10:1], T[:10:1],  T[0:10:0])
(T[0:10:1], T[n:10:1], T[:10:1], T[0:10:0]) : (i8[*], i8[*], i8[*], i8[*])
BndKind:Tuple, Type:(i8[*], i8[*], i8[*], i8[*]), Bnd:((GetSlice(Global(T), Slice(0:i8:10:i8:1:i8)):i8[*], GetSlice(Global(T), Slice(Global(n):10:i8:1:i8)):i8[*], GetSlice(Global(T), Slice(null:i8?:10:i8:1:i8)):i8[*], GetSlice(Global(T), Slice(0:i8:10:i8:0:i8)):i8[*]):(i8[*], i8[*], i8[*], i8[*]))
Func sig: (T:i8[*], n:i8?) to (i8[*], i8[*], i8[*], i8[*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(10)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
    Ten<i8>(10)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
    Ten<i8>(10)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
    Ten<i8>(10)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
###
> (T[7:12:1], T[7:n:1],  T[7::1],   T[7:12:0])
(T[7:12:1], T[7:n:1], T[7::1], T[7:12:0]) : (i8[*], i8[*], i8[*], i8[*])
BndKind:Tuple, Type:(i8[*], i8[*], i8[*], i8[*]), Bnd:((GetSlice(Global(T), Slice(7:i8:12:i8:1:i8)):i8[*], GetSlice(Global(T), Slice(7:i8:Global(n):1:i8)):i8[*], GetSlice(Global(T), Slice(7:i8:null:i8?:1:i8)):i8[*], GetSlice(Global(T), Slice(7:i8:12:i8:0:i8)):i8[*]):(i8[*], i8[*], i8[*], i8[*]))
Func sig: (T:i8[*], n:i8?) to (i8[*], i8[*], i8[*], i8[*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(5)<1> [7, 8, 9, 10, 11],
    Ten<i8>(5)<1> [7, 8, 9, 10, 11],
    Ten<i8>(5)<1> [7, 8, 9, 10, 11],
    Ten<i8>(5)<1> [7, 8, 9, 10, 11])
###
> (T[7:10:1], T[7:10:n], T[7:10:1], T[7:10:0])
(T[7:10:1], T[7:10:n], T[7:10:1], T[7:10:0]) : (i8[*], i8[*], i8[*], i8[*])
BndKind:Tuple, Type:(i8[*], i8[*], i8[*], i8[*]), Bnd:((GetSlice(Global(T), Slice(7:i8:10:i8:1:i8)):i8[*], GetSlice(Global(T), Slice(7:i8:10:i8:Global(n))):i8[*], GetSlice(Global(T), Slice(7:i8:10:i8:1:i8)):i8[*], GetSlice(Global(T), Slice(7:i8:10:i8:0:i8)):i8[*]):(i8[*], i8[*], i8[*], i8[*]))
Func sig: (T:i8[*], n:i8?) to (i8[*], i8[*], i8[*], i8[*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(3)<1> [7, 8, 9],
    Ten<i8>(3)<1> [7, 8, 9],
    Ten<i8>(3)<1> [7, 8, 9],
    Ten<i8>(3)<1> [7, 8, 9])
###
> (T[7:^13:-1], T[7:n:-1], T[7::-1], T[7:^13:0])
(T[7:^13:-1], T[7:n:-1], T[7::-1], T[7:^13:0]) : (i8[*], i8[*], i8[*], i8[*])
BndKind:Tuple, Type:(i8[*], i8[*], i8[*], i8[*]), Bnd:((GetSlice(Global(T), Slice(7:i8:^(13:i8):-1:i8)):i8[*], GetSlice(Global(T), Slice(7:i8:Global(n):-1:i8)):i8[*], GetSlice(Global(T), Slice(7:i8:null:i8?:-1:i8)):i8[*], GetSlice(Global(T), Slice(7:i8:^(13:i8):0:i8)):i8[*]):(i8[*], i8[*], i8[*], i8[*]))
Func sig: (T:i8[*], n:i8?) to (i8[*], i8[*], i8[*], i8[*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(8)<-1> [7, 6, 5, 4, 3, 2, 1, 0],
    Ten<i8>(8)<-1> [7, 6, 5, 4, 3, 2, 1, 0],
    Ten<i8>(8)<-1> [7, 6, 5, 4, 3, 2, 1, 0],
    Ten<i8>(8)<-1> [7, 6, 5, 4, 3, 2, 1, 0])
###
> (T[11:7:-1],  T[n:7:-1], T[:7:-1], T[11:7:0])
(T[11:7:-1], T[n:7:-1], T[:7:-1], T[11:7:0]) : (i8[*], i8[*], i8[*], i8[*])
BndKind:Tuple, Type:(i8[*], i8[*], i8[*], i8[*]), Bnd:((GetSlice(Global(T), Slice(11:i8:7:i8:-1:i8)):i8[*], GetSlice(Global(T), Slice(Global(n):7:i8:-1:i8)):i8[*], GetSlice(Global(T), Slice(null:i8?:7:i8:-1:i8)):i8[*], GetSlice(Global(T), Slice(11:i8:7:i8:0:i8)):i8[*]):(i8[*], i8[*], i8[*], i8[*]))
Func sig: (T:i8[*], n:i8?) to (i8[*], i8[*], i8[*], i8[*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(4)<-1> [11, 10, 9, 8],
    Ten<i8>(4)<-1> [11, 10, 9, 8],
    Ten<i8>(4)<-1> [11, 10, 9, 8],
    Ten<i8>(4)<-1> [11, 10, 9, 8])
###
> (T[10:7:-1],  T[10:7:n], T[10:7:], T[10:7:0])
(T[10:7:-1], T[10:7:n], T[10:7:], T[10:7:0]) : (i8[*], i8[*], i8[*], i8[*])
BndKind:Tuple, Type:(i8[*], i8[*], i8[*], i8[*]), Bnd:((GetSlice(Global(T), Slice(10:i8:7:i8:-1:i8)):i8[*], GetSlice(Global(T), Slice(10:i8:7:i8:Global(n))):i8[*], GetSlice(Global(T), Slice(10:i8:7:i8:null:i8?)):i8[*], GetSlice(Global(T), Slice(10:i8:7:i8:0:i8)):i8[*]):(i8[*], i8[*], i8[*], i8[*]))
Func sig: (T:i8[*], n:i8?) to (i8[*], i8[*], i8[*], i8[*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(3)<-1> [10, 9, 8],
    Ten<i8>(3)<-1> [10, 9, 8],
    Ten<i8>(3)<-1> [10, 9, 8],
    Ten<i8>(3)<-1> [10, 9, 8])
###
> (T[0:12:1],    T[n:n:1],  T[::1],  T[0:12:0])
(T[0:12:1], T[n:n:1], T[::1], T[0:12:0]) : (i8[*], i8[*], i8[*], i8[*])
BndKind:Tuple, Type:(i8[*], i8[*], i8[*], i8[*]), Bnd:((GetSlice(Global(T), Slice(0:i8:12:i8:1:i8)):i8[*], GetSlice(Global(T), Slice(Global(n):Global(n):1:i8)):i8[*], Global(T), GetSlice(Global(T), Slice(0:i8:12:i8:0:i8)):i8[*]):(i8[*], i8[*], i8[*], i8[*]))
Func sig: (T:i8[*], n:i8?) to (i8[*], i8[*], i8[*], i8[*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
    Ten<i8>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
    Ten<i8>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
    Ten<i8>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
###
> (T[11:^13:-1], T[n:n:-1], T[::-1], T[11:^13:-0])
(T[11:^13:-1], T[n:n:-1], T[::-1], T[11:^13:-0]) : (i8[*], i8[*], i8[*], i8[*])
BndKind:Tuple, Type:(i8[*], i8[*], i8[*], i8[*]), Bnd:((GetSlice(Global(T), Slice(11:i8:^(13:i8):-1:i8)):i8[*], GetSlice(Global(T), Slice(Global(n):Global(n):-1:i8)):i8[*], GetSlice(Global(T), Slice(null:i8?:null:i8?:-1:i8)):i8[*], GetSlice(Global(T), Slice(11:i8:^(13:i8):0:i8)):i8[*]):(i8[*], i8[*], i8[*], i8[*]))
Func sig: (T:i8[*], n:i8?) to (i8[*], i8[*], i8[*], i8[*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(12)<-1> [11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0],
    Ten<i8>(12)<-1> [11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0],
    Ten<i8>(12)<-1> [11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0],
    Ten<i8>(12)<-1> [11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0])
###
> (T[(4,10, null)], T[(2, 9, 2)])
(T[(4, 10, null)], T[(2, 9, 2)]) : (i8[*], i8[*])
BndKind:Tuple, Type:(i8[*], i8[*]), Bnd:((GetSlice(Global(T), Slice(4:i8:10:i8:null:i8?)):i8[*], GetSlice(Global(T), Slice(2:i8:9:i8:2:i8)):i8[*]):(i8[*], i8[*]))
Func sig: (T:i8[*]) to (i8[*], i8[*])
Type: (Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(6)<1> [4, 5, 6, 7, 8, 9],
    Ten<i8>(4)<2> [2, 4, 6, 8])
###

**** New definitions: tups0, type: (i8, i8, i8?)*
**** New definitions: tups1, type: (i8, b, i8, b, i8?)*

> tups0->(T[it])
tups0->(T[it]) : i8[*]*
BndKind:Call, Type:i8[*]*, Bnd:(Call(∂.ForEach([map:1] Global(tups0), GetSlice(Global(T), Slice(Scope(1))):i8[*]):i8[*]*))
Func sig: (tups0:(i8, i8, i8?)*, T:i8[*]) to i8[*]*
Sequence: Seq<Ten<i8>>
 0) Ten<i8>(6)<1> [4, 5, 6, 7, 8, 9]
 1) Ten<i8>(4)<2> [2, 4, 6, 8]
 2) Ten<i8>(3)<3> [2, 5, 8]
 3) Ten<i8>(0)<0> []
 4) Ten<i8>(1)<0> [2]
 5) Ten<i8>(0)<0> []
 6) Ten<i8>(0)<0> []
 7) Ten<i8>(0)<0> []
 8) Ten<i8>(0)<0> []
 9) Ten<i8>(0)<0> []
###
> tups1->(T[it])
tups1->(T[it]) : i8[*]*
BndKind:Call, Type:i8[*]*, Bnd:(Call(∂.ForEach([map:1] Global(tups1), GetSlice(Global(T), Slice(Scope(1))):i8[*]):i8[*]*))
Func sig: (tups1:(i8, b, i8, b, i8?)*, T:i8[*]) to i8[*]*
Sequence: Seq<Ten<i8>>
 0) Ten<i8>(6)<1> [4, 5, 6, 7, 8, 9]
 1) Ten<i8>(4)<2> [2, 4, 6, 8]
 2) Ten<i8>(3)<3> [2, 5, 8]
 3) Ten<i8>(0)<0> []
 4) Ten<i8>(1)<0> [2]
 5) Ten<i8>(0)<0> []
 6) Ten<i8>(0)<0> []
 7) Ten<i8>(3)<-3> [10, 7, 4]
 8) Ten<i8>(10)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
 9) Ten<i8>(11)<-1> [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
###

**** New definitions: tups, type: (i8, b, i8, b, i8)*

> tups->(T[it])
tups->(T[it]) : i8[*]*
BndKind:Call, Type:i8[*]*, Bnd:(Call(∂.ForEach([map:1] Global(tups), GetSlice(Global(T), Slice(Scope(1))):i8[*]):i8[*]*))
Func sig: (tups:(i8, b, i8, b, i8)*, T:i8[*]) to i8[*]*
Sequence: Seq<Ten<i8>>
 0) Ten<i8>(9)<1> [1, 2, 3, 4, 5, 6, 7, 8, 9]
 1) Ten<i8>(9)<-1> [10, 9, 8, 7, 6, 5, 4, 3, 2]
 2) Ten<i8>(9)<-1> [11, 10, 9, 8, 7, 6, 5, 4, 3]
 3) Ten<i8>(9)<1> [2, 3, 4, 5, 6, 7, 8, 9, 10]
###

**** New definitions: tup0, type: (i8?, i8?, i8)
**** New definitions: tup1, type: (i8?, i8, i8)
**** New definitions: tup2, type: (i8, i8?, i8)

> (T[tup0], T[tup1], T[tup2])
(T[tup0], T[tup1], T[tup2]) : (i8[*], i8[*], i8[*])
BndKind:Tuple, Type:(i8[*], i8[*], i8[*]), Bnd:((GetSlice(Global(T), Slice(Global(tup0))):i8[*], GetSlice(Global(T), Slice(Global(tup1))):i8[*], GetSlice(Global(T), Slice(Global(tup2))):i8[*]):(i8[*], i8[*], i8[*]))
Func sig: (T:i8[*], tup0:(i8?, i8?, i8), tup1:(i8?, i8, i8), tup2:(i8, i8?, i8)) to (i8[*], i8[*], i8[*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(3)<2> [1, 3, 5],
    Ten<i8>(3)<2> [1, 3, 5],
    Ten<i8>(3)<2> [1, 3, 5])
###

**** New definitions: T, type: s[*]

> T
T : s[*]
BndKind:Global, Type:s[*], Bnd:(Global(T))
Func sig: (T:s[*]) to s[*]
Ten<str>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
###
> (T[0], T[-2], T[^2], T[-100], T[^100], T[12], T[100])
(T[0], T[-2], T[^2], T[-100], T[^100], T[12], T[100]) : (s, s, s, s, s, s, s)
BndKind:Tuple, Type:(s, s, s, s, s, s, s), Bnd:((IdxTen(Global(T), 0:i8):s, IdxTen(Global(T), -2:i8):s, IdxTen(Global(T), Index(2:i8, Back)):s, IdxTen(Global(T), -100:i8):s, IdxTen(Global(T), Index(100:i8, Back)):s, IdxTen(Global(T), 12:i8):s, IdxTen(Global(T), 100:i8):s):(s, s, s, s, s, s, s))
Func sig: (T:s[*]) to (s, s, s, s, s, s, s)
Type: (str,str,str,str,str,str,str), Value: (
    0,
    <null>,
    10,
    <null>,
    <null>,
    <null>,
    <null>)
###
> (T[:], T[3:7], T[^1:^4])
(T[:], T[3:7], T[^1:^4]) : (s[*], s[*], s[*])
BndKind:Tuple, Type:(s[*], s[*], s[*]), Bnd:((Global(T), GetSlice(Global(T), Slice(3:i8:7:i8:null:i8?)):s[*], GetSlice(Global(T), Slice(^(1:i8):^(4:i8):null:i8?)):s[*]):(s[*], s[*], s[*]))
Func sig: (T:s[*]) to (s[*], s[*], s[*])
Type: (Ten<str>,Ten<str>,Ten<str>), Value: (
    Ten<str>(12)<1> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
    Ten<str>(4)<1> [3, 4, 5, 6],
    Ten<str>(3)<-1> [11, 10, 9])
###

**** New definitions: T, type: s[*,*]

> T
T : s[*,*]
BndKind:Global, Type:s[*,*], Bnd:(Global(T))
Func sig: (T:s[*,*]) to s[*,*]
Ten<str>(4,4)<4,1>
  [[0, 1, 2, 3]
   [4, 5, 6, 7]
   [8, 9, 10, 11]
   [12, 13, 14, 15]]
###
> (T[0,0], T[^1,^1], T[^100, ^100], T[100,100])
(T[0, 0], T[^1, ^1], T[^100, ^100], T[100, 100]) : (s, s, s, s)
BndKind:Tuple, Type:(s, s, s, s), Bnd:((IdxTen(Global(T), 0:i8, 0:i8):s, IdxTen(Global(T), Index(1:i8, Back), Index(1:i8, Back)):s, IdxTen(Global(T), Index(100:i8, Back), Index(100:i8, Back)):s, IdxTen(Global(T), 100:i8, 100:i8):s):(s, s, s, s))
Func sig: (T:s[*,*]) to (s, s, s, s)
Type: (str,str,str,str), Value: (
    0,
    15,
    <null>,
    <null>)
###
> (T[:], T[1:3, 0], T[^1:^3, 0], T[1:3, ^100], T[^1:^3, 100])
(T[:], T[1:3, 0], T[^1:^3, 0], T[1:3, ^100], T[^1:^3, 100]) : (s[*,*], s[*], s[*], s[*], s[*])
BndKind:Tuple, Type:(s[*,*], s[*], s[*], s[*], s[*]), Bnd:((Global(T), GetSlice(Global(T), Slice(1:i8:3:i8:null:i8?), Index(0:i8, None)):s[*], GetSlice(Global(T), Slice(^(1:i8):^(3:i8):null:i8?), Index(0:i8, None)):s[*], GetSlice(Global(T), Slice(1:i8:3:i8:null:i8?), Index(100:i8, Back)):s[*], GetSlice(Global(T), Slice(^(1:i8):^(3:i8):null:i8?), Index(100:i8, None)):s[*]):(s[*,*], s[*], s[*], s[*], s[*]))
Func sig: (T:s[*,*]) to (s[*,*], s[*], s[*], s[*], s[*])
Type: (Ten<str>,Ten<str>,Ten<str>,Ten<str>,Ten<str>), Value: (
    Ten<str>(4,4)<4,1>
      [[0, 1, 2, 3]
       [4, 5, 6, 7]
       [8, 9, 10, 11]
       [12, 13, 14, 15]]
  ,
    Ten<str>(2)<4> [4, 8],
    Ten<str>(2)<-4> [12, 8],
    Ten<str>(2)<0> [<null>, <null>],
    Ten<str>(2)<0> [<null>, <null>])
###

**** New definitions: T, type: {A:i8}?[*]

> T
T : {A:i8}?[*]
BndKind:Global, Type:{A:i8}?[*], Bnd:(Global(T))
Func sig: (T:{A:i8}?[*]) to {A:i8}?[*]
Ten<{i8}>(12)<1> [{ A: 0 }, <null>, { A: 2 }, <null>, { A: 4 }, <null>, { A: 6 }, <null>, { A: 8 }, <null>, { A: 10 }, <null>]
###
> (T[0], T[^2], T[^100], T[12], T[100])
(T[0], T[^2], T[^100], T[12], T[100]) : ({A:i8}?, {A:i8}?, {A:i8}?, {A:i8}?, {A:i8}?)
BndKind:Tuple, Type:({A:i8}?, {A:i8}?, {A:i8}?, {A:i8}?, {A:i8}?), Bnd:((IdxTen(Global(T), 0:i8):{A:i8}?, IdxTen(Global(T), Index(2:i8, Back)):{A:i8}?, IdxTen(Global(T), Index(100:i8, Back)):{A:i8}?, IdxTen(Global(T), 12:i8):{A:i8}?, IdxTen(Global(T), 100:i8):{A:i8}?):({A:i8}?, {A:i8}?, {A:i8}?, {A:i8}?, {A:i8}?))
Func sig: (T:{A:i8}?[*]) to ({A:i8}?, {A:i8}?, {A:i8}?, {A:i8}?, {A:i8}?)
Type: ({i8},{i8},{i8},{i8},{i8}), Value: (
    { A: 0 },
    { A: 10 },
    <null>,
    <null>,
    <null>)
###
> (T[:], T[3:7], T[^1:^4])
(T[:], T[3:7], T[^1:^4]) : ({A:i8}?[*], {A:i8}?[*], {A:i8}?[*])
BndKind:Tuple, Type:({A:i8}?[*], {A:i8}?[*], {A:i8}?[*]), Bnd:((Global(T), GetSlice(Global(T), Slice(3:i8:7:i8:null:i8?)):{A:i8}?[*], GetSlice(Global(T), Slice(^(1:i8):^(4:i8):null:i8?)):{A:i8}?[*]):({A:i8}?[*], {A:i8}?[*], {A:i8}?[*]))
Func sig: (T:{A:i8}?[*]) to ({A:i8}?[*], {A:i8}?[*], {A:i8}?[*])
Type: (Ten<{i8}>,Ten<{i8}>,Ten<{i8}>), Value: (
    Ten<{i8}>(12)<1> [{ A: 0 }, <null>, { A: 2 }, <null>, { A: 4 }, <null>, { A: 6 }, <null>, { A: 8 }, <null>, { A: 10 }, <null>],
    Ten<{i8}>(4)<1> [<null>, { A: 4 }, <null>, { A: 6 }],
    Ten<{i8}>(3)<-1> [<null>, { A: 10 }, <null>])
###

**** New definitions: T, type: {A:i8}?[*,*]

> T
T : {A:i8}?[*,*]
BndKind:Global, Type:{A:i8}?[*,*], Bnd:(Global(T))
Func sig: (T:{A:i8}?[*,*]) to {A:i8}?[*,*]
Ten<{i8}>(4,4)<4,1>
  [[{ A: 0 }, <null>, { A: 2 }, <null>]
   [{ A: 4 }, <null>, { A: 6 }, <null>]
   [{ A: 8 }, <null>, { A: 10 }, <null>]
   [{ A: 12 }, <null>, { A: 14 }, <null>]]
###
> (T[0,0], T[^1,^1], T[^100, ^100], T[100,100])
(T[0, 0], T[^1, ^1], T[^100, ^100], T[100, 100]) : ({A:i8}?, {A:i8}?, {A:i8}?, {A:i8}?)
BndKind:Tuple, Type:({A:i8}?, {A:i8}?, {A:i8}?, {A:i8}?), Bnd:((IdxTen(Global(T), 0:i8, 0:i8):{A:i8}?, IdxTen(Global(T), Index(1:i8, Back), Index(1:i8, Back)):{A:i8}?, IdxTen(Global(T), Index(100:i8, Back), Index(100:i8, Back)):{A:i8}?, IdxTen(Global(T), 100:i8, 100:i8):{A:i8}?):({A:i8}?, {A:i8}?, {A:i8}?, {A:i8}?))
Func sig: (T:{A:i8}?[*,*]) to ({A:i8}?, {A:i8}?, {A:i8}?, {A:i8}?)
Type: ({i8},{i8},{i8},{i8}), Value: (
    { A: 0 },
    <null>,
    <null>,
    <null>)
###
> (T[:], T[1:3, 0], T[^1:^3, 0], T[1:3, ^100], T[^1:^3, 100])
(T[:], T[1:3, 0], T[^1:^3, 0], T[1:3, ^100], T[^1:^3, 100]) : ({A:i8}?[*,*], {A:i8}?[*], {A:i8}?[*], {A:i8}?[*], {A:i8}?[*])
BndKind:Tuple, Type:({A:i8}?[*,*], {A:i8}?[*], {A:i8}?[*], {A:i8}?[*], {A:i8}?[*]), Bnd:((Global(T), GetSlice(Global(T), Slice(1:i8:3:i8:null:i8?), Index(0:i8, None)):{A:i8}?[*], GetSlice(Global(T), Slice(^(1:i8):^(3:i8):null:i8?), Index(0:i8, None)):{A:i8}?[*], GetSlice(Global(T), Slice(1:i8:3:i8:null:i8?), Index(100:i8, Back)):{A:i8}?[*], GetSlice(Global(T), Slice(^(1:i8):^(3:i8):null:i8?), Index(100:i8, None)):{A:i8}?[*]):({A:i8}?[*,*], {A:i8}?[*], {A:i8}?[*], {A:i8}?[*], {A:i8}?[*]))
Func sig: (T:{A:i8}?[*,*]) to ({A:i8}?[*,*], {A:i8}?[*], {A:i8}?[*], {A:i8}?[*], {A:i8}?[*])
Type: (Ten<{i8}>,Ten<{i8}>,Ten<{i8}>,Ten<{i8}>,Ten<{i8}>), Value: (
    Ten<{i8}>(4,4)<4,1>
      [[{ A: 0 }, <null>, { A: 2 }, <null>]
       [{ A: 4 }, <null>, { A: 6 }, <null>]
       [{ A: 8 }, <null>, { A: 10 }, <null>]
       [{ A: 12 }, <null>, { A: 14 }, <null>]]
  ,
    Ten<{i8}>(2)<4> [{ A: 4 }, { A: 8 }],
    Ten<{i8}>(2)<-4> [{ A: 12 }, { A: 8 }],
    Ten<{i8}>(2)<0> [<null>, <null>],
    Ten<{i8}>(2)<0> [<null>, <null>])
###

**** New definitions: T, type: i8*[*]

> T
T : i8*[*]
BndKind:Global, Type:i8*[*], Bnd:(Global(T))
Func sig: (T:i8*[*]) to i8*[*]
Ten<Seq<i8>>(12)<1> [Sequence: Seq<i8>
      0) 0
   Sequence: Seq<i8>
      0) 1
   Sequence: Seq<i8>
      0) 2
   Sequence: Seq<i8>
      0) 3
   Sequence: Seq<i8>
      0) 4
   Sequence: Seq<i8>
      0) 5
   Sequence: Seq<i8>
      0) 6
   Sequence: Seq<i8>
      0) 7
   Sequence: Seq<i8>
      0) 8
   Sequence: Seq<i8>
      0) 9
   Sequence: Seq<i8>
      0) 10
   Sequence: Seq<i8>
      0) 11
]
###
> (T[0], T[^1], T[^100], T[12], T[100])
(T[0], T[^1], T[^100], T[12], T[100]) : (i8*, i8*, i8*, i8*, i8*)
BndKind:Tuple, Type:(i8*, i8*, i8*, i8*, i8*), Bnd:((IdxTen(Global(T), 0:i8):i8*, IdxTen(Global(T), Index(1:i8, Back)):i8*, IdxTen(Global(T), Index(100:i8, Back)):i8*, IdxTen(Global(T), 12:i8):i8*, IdxTen(Global(T), 100:i8):i8*):(i8*, i8*, i8*, i8*, i8*))
Func sig: (T:i8*[*]) to (i8*, i8*, i8*, i8*, i8*)
Type: (Seq<i8>,Seq<i8>,Seq<i8>,Seq<i8>,Seq<i8>), Value: (
    Sequence: Seq<i8>
     0) 0
  ,
    Sequence: Seq<i8>
     0) 11
  ,
    <null>,
    <null>,
    <null>)
###
> (T[:], T[3:7], T[^1:^4])
(T[:], T[3:7], T[^1:^4]) : (i8*[*], i8*[*], i8*[*])
BndKind:Tuple, Type:(i8*[*], i8*[*], i8*[*]), Bnd:((Global(T), GetSlice(Global(T), Slice(3:i8:7:i8:null:i8?)):i8*[*], GetSlice(Global(T), Slice(^(1:i8):^(4:i8):null:i8?)):i8*[*]):(i8*[*], i8*[*], i8*[*]))
Func sig: (T:i8*[*]) to (i8*[*], i8*[*], i8*[*])
Type: (Ten<Seq<i8>>,Ten<Seq<i8>>,Ten<Seq<i8>>), Value: (
    Ten<Seq<i8>>(12)<1> [Sequence: Seq<i8>
          0) 0
       Sequence: Seq<i8>
          0) 1
       Sequence: Seq<i8>
          0) 2
       Sequence: Seq<i8>
          0) 3
       Sequence: Seq<i8>
          0) 4
       Sequence: Seq<i8>
          0) 5
       Sequence: Seq<i8>
          0) 6
       Sequence: Seq<i8>
          0) 7
       Sequence: Seq<i8>
          0) 8
       Sequence: Seq<i8>
          0) 9
       Sequence: Seq<i8>
          0) 10
       Sequence: Seq<i8>
          0) 11
],
    Ten<Seq<i8>>(4)<1> [Sequence: Seq<i8>
          0) 3
       Sequence: Seq<i8>
          0) 4
       Sequence: Seq<i8>
          0) 5
       Sequence: Seq<i8>
          0) 6
],
    Ten<Seq<i8>>(3)<-1> [Sequence: Seq<i8>
          0) 11
       Sequence: Seq<i8>
          0) 10
       Sequence: Seq<i8>
          0) 9
])
###

**** New definitions: T, type: i8*[*,*]

> T
T : i8*[*,*]
BndKind:Global, Type:i8*[*,*], Bnd:(Global(T))
Func sig: (T:i8*[*,*]) to i8*[*,*]
Ten<Seq<i8>>(4,4)<4,1>
  [[Sequence: Seq<i8>
       0) 0
    Sequence: Seq<i8>
       0) 1
    Sequence: Seq<i8>
       0) 2
    Sequence: Seq<i8>
       0) 3
]   [    Sequence: Seq<i8>
       0) 4
    Sequence: Seq<i8>
       0) 5
    Sequence: Seq<i8>
       0) 6
    Sequence: Seq<i8>
       0) 7
]   [    Sequence: Seq<i8>
       0) 8
    Sequence: Seq<i8>
       0) 9
    Sequence: Seq<i8>
       0) 10
    Sequence: Seq<i8>
       0) 11
]   [    Sequence: Seq<i8>
       0) 12
    Sequence: Seq<i8>
       0) 13
    Sequence: Seq<i8>
       0) 14
    Sequence: Seq<i8>
       0) 15
]]
###
> (T[0,0], T[^1,^1], T[^100, ^100], T[100,100])
(T[0, 0], T[^1, ^1], T[^100, ^100], T[100, 100]) : (i8*, i8*, i8*, i8*)
BndKind:Tuple, Type:(i8*, i8*, i8*, i8*), Bnd:((IdxTen(Global(T), 0:i8, 0:i8):i8*, IdxTen(Global(T), Index(1:i8, Back), Index(1:i8, Back)):i8*, IdxTen(Global(T), Index(100:i8, Back), Index(100:i8, Back)):i8*, IdxTen(Global(T), 100:i8, 100:i8):i8*):(i8*, i8*, i8*, i8*))
Func sig: (T:i8*[*,*]) to (i8*, i8*, i8*, i8*)
Type: (Seq<i8>,Seq<i8>,Seq<i8>,Seq<i8>), Value: (
    Sequence: Seq<i8>
     0) 0
  ,
    Sequence: Seq<i8>
     0) 15
  ,
    <null>,
    <null>)
###
> (T[:], T[1:3, 0], T[^1:^3, 0], T[1:3, ^100], T[^1:^3, 100])
(T[:], T[1:3, 0], T[^1:^3, 0], T[1:3, ^100], T[^1:^3, 100]) : (i8*[*,*], i8*[*], i8*[*], i8*[*], i8*[*])
BndKind:Tuple, Type:(i8*[*,*], i8*[*], i8*[*], i8*[*], i8*[*]), Bnd:((Global(T), GetSlice(Global(T), Slice(1:i8:3:i8:null:i8?), Index(0:i8, None)):i8*[*], GetSlice(Global(T), Slice(^(1:i8):^(3:i8):null:i8?), Index(0:i8, None)):i8*[*], GetSlice(Global(T), Slice(1:i8:3:i8:null:i8?), Index(100:i8, Back)):i8*[*], GetSlice(Global(T), Slice(^(1:i8):^(3:i8):null:i8?), Index(100:i8, None)):i8*[*]):(i8*[*,*], i8*[*], i8*[*], i8*[*], i8*[*]))
Func sig: (T:i8*[*,*]) to (i8*[*,*], i8*[*], i8*[*], i8*[*], i8*[*])
Type: (Ten<Seq<i8>>,Ten<Seq<i8>>,Ten<Seq<i8>>,Ten<Seq<i8>>,Ten<Seq<i8>>), Value: (
    Ten<Seq<i8>>(4,4)<4,1>
      [[Sequence: Seq<i8>
           0) 0
        Sequence: Seq<i8>
           0) 1
        Sequence: Seq<i8>
           0) 2
        Sequence: Seq<i8>
           0) 3
]       [        Sequence: Seq<i8>
           0) 4
        Sequence: Seq<i8>
           0) 5
        Sequence: Seq<i8>
           0) 6
        Sequence: Seq<i8>
           0) 7
]       [        Sequence: Seq<i8>
           0) 8
        Sequence: Seq<i8>
           0) 9
        Sequence: Seq<i8>
           0) 10
        Sequence: Seq<i8>
           0) 11
]       [        Sequence: Seq<i8>
           0) 12
        Sequence: Seq<i8>
           0) 13
        Sequence: Seq<i8>
           0) 14
        Sequence: Seq<i8>
           0) 15
]]
  ,
    Ten<Seq<i8>>(2)<4> [Sequence: Seq<i8>
          0) 4
       Sequence: Seq<i8>
          0) 8
],
    Ten<Seq<i8>>(2)<-4> [Sequence: Seq<i8>
          0) 12
       Sequence: Seq<i8>
          0) 8
],
    Ten<Seq<i8>>(2)<0> [<null>, <null>],
    Ten<Seq<i8>>(2)<0> [<null>, <null>])
###

**** New definitions: T, type: {A:i8}[*]

> T
T : {A:i8}[*]
BndKind:Global, Type:{A:i8}[*], Bnd:(Global(T))
Func sig: (T:{A:i8}[*]) to {A:i8}[*]
Ten<{i8}>(12)<1> [{ A: 0 }, { A: 1 }, { A: 2 }, { A: 3 }, { A: 4 }, { A: 5 }, { A: 6 }, { A: 7 }, { A: 8 }, { A: 9 }, { A: 10 }, { A: 11 }]
###
> (T[0], T[^1], T[^100], T[12], T[100])
(T[0], T[^1], T[^100], T[12], T[100]) : ({A:i8}, {A:i8}, {A:i8}, {A:i8}, {A:i8})
BndKind:Tuple, Type:({A:i8}, {A:i8}, {A:i8}, {A:i8}, {A:i8}), Bnd:((IdxTen(Global(T), 0:i8):{A:i8}, IdxTen(Global(T), Index(1:i8, Back)):{A:i8}, IdxTen(Global(T), Index(100:i8, Back)):{A:i8}, IdxTen(Global(T), 12:i8):{A:i8}, IdxTen(Global(T), 100:i8):{A:i8}):({A:i8}, {A:i8}, {A:i8}, {A:i8}, {A:i8}))
Func sig: (T:{A:i8}[*]) to ({A:i8}, {A:i8}, {A:i8}, {A:i8}, {A:i8})
Type: ({i8},{i8},{i8},{i8},{i8}), Value: (
    { A: 0 },
    { A: 11 },
    { A: 0 },
    { A: 0 },
    { A: 0 })
###
> (T[:], T[3:7], T[^1:^4])
(T[:], T[3:7], T[^1:^4]) : ({A:i8}[*], {A:i8}[*], {A:i8}[*])
BndKind:Tuple, Type:({A:i8}[*], {A:i8}[*], {A:i8}[*]), Bnd:((Global(T), GetSlice(Global(T), Slice(3:i8:7:i8:null:i8?)):{A:i8}[*], GetSlice(Global(T), Slice(^(1:i8):^(4:i8):null:i8?)):{A:i8}[*]):({A:i8}[*], {A:i8}[*], {A:i8}[*]))
Func sig: (T:{A:i8}[*]) to ({A:i8}[*], {A:i8}[*], {A:i8}[*])
Type: (Ten<{i8}>,Ten<{i8}>,Ten<{i8}>), Value: (
    Ten<{i8}>(12)<1> [{ A: 0 }, { A: 1 }, { A: 2 }, { A: 3 }, { A: 4 }, { A: 5 }, { A: 6 }, { A: 7 }, { A: 8 }, { A: 9 }, { A: 10 }, { A: 11 }],
    Ten<{i8}>(4)<1> [{ A: 3 }, { A: 4 }, { A: 5 }, { A: 6 }],
    Ten<{i8}>(3)<-1> [{ A: 11 }, { A: 10 }, { A: 9 }])
###

**** New definitions: T, type: {A:i8}[*,*]

> T
T : {A:i8}[*,*]
BndKind:Global, Type:{A:i8}[*,*], Bnd:(Global(T))
Func sig: (T:{A:i8}[*,*]) to {A:i8}[*,*]
Ten<{i8}>(4,4)<4,1>
  [[{ A: 0 }, { A: 1 }, { A: 2 }, { A: 3 }]
   [{ A: 4 }, { A: 5 }, { A: 6 }, { A: 7 }]
   [{ A: 8 }, { A: 9 }, { A: 10 }, { A: 11 }]
   [{ A: 12 }, { A: 13 }, { A: 14 }, { A: 15 }]]
###
> (T[0,0], T[^1,^1], T[^100, ^100], T[100,100])
(T[0, 0], T[^1, ^1], T[^100, ^100], T[100, 100]) : ({A:i8}, {A:i8}, {A:i8}, {A:i8})
BndKind:Tuple, Type:({A:i8}, {A:i8}, {A:i8}, {A:i8}), Bnd:((IdxTen(Global(T), 0:i8, 0:i8):{A:i8}, IdxTen(Global(T), Index(1:i8, Back), Index(1:i8, Back)):{A:i8}, IdxTen(Global(T), Index(100:i8, Back), Index(100:i8, Back)):{A:i8}, IdxTen(Global(T), 100:i8, 100:i8):{A:i8}):({A:i8}, {A:i8}, {A:i8}, {A:i8}))
Func sig: (T:{A:i8}[*,*]) to ({A:i8}, {A:i8}, {A:i8}, {A:i8})
Type: ({i8},{i8},{i8},{i8}), Value: (
    { A: 0 },
    { A: 15 },
    { A: 0 },
    { A: 0 })
###
> (T[:], T[1:3, 0], T[^1:^3, 0], T[1:3, ^100], T[^1:^3, 100])
(T[:], T[1:3, 0], T[^1:^3, 0], T[1:3, ^100], T[^1:^3, 100]) : ({A:i8}[*,*], {A:i8}[*], {A:i8}[*], {A:i8}[*], {A:i8}[*])
BndKind:Tuple, Type:({A:i8}[*,*], {A:i8}[*], {A:i8}[*], {A:i8}[*], {A:i8}[*]), Bnd:((Global(T), GetSlice(Global(T), Slice(1:i8:3:i8:null:i8?), Index(0:i8, None)):{A:i8}[*], GetSlice(Global(T), Slice(^(1:i8):^(3:i8):null:i8?), Index(0:i8, None)):{A:i8}[*], GetSlice(Global(T), Slice(1:i8:3:i8:null:i8?), Index(100:i8, Back)):{A:i8}[*], GetSlice(Global(T), Slice(^(1:i8):^(3:i8):null:i8?), Index(100:i8, None)):{A:i8}[*]):({A:i8}[*,*], {A:i8}[*], {A:i8}[*], {A:i8}[*], {A:i8}[*]))
Func sig: (T:{A:i8}[*,*]) to ({A:i8}[*,*], {A:i8}[*], {A:i8}[*], {A:i8}[*], {A:i8}[*])
Type: (Ten<{i8}>,Ten<{i8}>,Ten<{i8}>,Ten<{i8}>,Ten<{i8}>), Value: (
    Ten<{i8}>(4,4)<4,1>
      [[{ A: 0 }, { A: 1 }, { A: 2 }, { A: 3 }]
       [{ A: 4 }, { A: 5 }, { A: 6 }, { A: 7 }]
       [{ A: 8 }, { A: 9 }, { A: 10 }, { A: 11 }]
       [{ A: 12 }, { A: 13 }, { A: 14 }, { A: 15 }]]
  ,
    Ten<{i8}>(2)<4> [{ A: 4 }, { A: 8 }],
    Ten<{i8}>(2)<-4> [{ A: 12 }, { A: 8 }],
    Ten<{i8}>(2)<0> [{ A: 0 }, { A: 0 }],
    Ten<{i8}>(2)<0> [{ A: 0 }, { A: 0 }])
###

**** New definitions: T, type: (i8)[*]

> T
T : (i8)[*]
BndKind:Global, Type:(i8)[*], Bnd:(Global(T))
Func sig: (T:(i8)[*]) to (i8)[*]
Ten<(i8)>(12)<1> [(
         0,), (
         1,), (
         2,), (
         3,), (
         4,), (
         5,), (
         6,), (
         7,), (
         8,), (
         9,), (
         10,), (
         11,)]
###
> (T[0], T[^1], T[^100], T[12], T[100])
(T[0], T[^1], T[^100], T[12], T[100]) : ((i8), (i8), (i8), (i8), (i8))
BndKind:Tuple, Type:((i8), (i8), (i8), (i8), (i8)), Bnd:((IdxTen(Global(T), 0:i8):(i8), IdxTen(Global(T), Index(1:i8, Back)):(i8), IdxTen(Global(T), Index(100:i8, Back)):(i8), IdxTen(Global(T), 12:i8):(i8), IdxTen(Global(T), 100:i8):(i8)):((i8), (i8), (i8), (i8), (i8)))
Func sig: (T:(i8)[*]) to ((i8), (i8), (i8), (i8), (i8))
Type: ((i8),(i8),(i8),(i8),(i8)), Value: (
    (
        0,),
    (
        11,),
    (
        0,),
    (
        0,),
    (
        0,))
###
> (T[:], T[3:7], T[^1:^4])
(T[:], T[3:7], T[^1:^4]) : ((i8)[*], (i8)[*], (i8)[*])
BndKind:Tuple, Type:((i8)[*], (i8)[*], (i8)[*]), Bnd:((Global(T), GetSlice(Global(T), Slice(3:i8:7:i8:null:i8?)):(i8)[*], GetSlice(Global(T), Slice(^(1:i8):^(4:i8):null:i8?)):(i8)[*]):((i8)[*], (i8)[*], (i8)[*]))
Func sig: (T:(i8)[*]) to ((i8)[*], (i8)[*], (i8)[*])
Type: (Ten<(i8)>,Ten<(i8)>,Ten<(i8)>), Value: (
    Ten<(i8)>(12)<1> [(
             0,), (
             1,), (
             2,), (
             3,), (
             4,), (
             5,), (
             6,), (
             7,), (
             8,), (
             9,), (
             10,), (
             11,)],
    Ten<(i8)>(4)<1> [(
             3,), (
             4,), (
             5,), (
             6,)],
    Ten<(i8)>(3)<-1> [(
             11,), (
             10,), (
             9,)])
###

**** New definitions: T, type: (i8)[*,*]

> T
T : (i8)[*,*]
BndKind:Global, Type:(i8)[*,*], Bnd:(Global(T))
Func sig: (T:(i8)[*,*]) to (i8)[*,*]
Ten<(i8)>(4,4)<4,1>
  [[(
          0,), (
          1,), (
          2,), (
          3,)]
   [(
          4,), (
          5,), (
          6,), (
          7,)]
   [(
          8,), (
          9,), (
          10,), (
          11,)]
   [(
          12,), (
          13,), (
          14,), (
          15,)]]
###
> (T[0,0], T[^1,^1], T[^100, ^100], T[100,100])
(T[0, 0], T[^1, ^1], T[^100, ^100], T[100, 100]) : ((i8), (i8), (i8), (i8))
BndKind:Tuple, Type:((i8), (i8), (i8), (i8)), Bnd:((IdxTen(Global(T), 0:i8, 0:i8):(i8), IdxTen(Global(T), Index(1:i8, Back), Index(1:i8, Back)):(i8), IdxTen(Global(T), Index(100:i8, Back), Index(100:i8, Back)):(i8), IdxTen(Global(T), 100:i8, 100:i8):(i8)):((i8), (i8), (i8), (i8)))
Func sig: (T:(i8)[*,*]) to ((i8), (i8), (i8), (i8))
Type: ((i8),(i8),(i8),(i8)), Value: (
    (
        0,),
    (
        15,),
    (
        0,),
    (
        0,))
###
> (T[:], T[1:3, 0], T[^1:^3, 0], T[1:3, ^100], T[^1:^3, 100])
(T[:], T[1:3, 0], T[^1:^3, 0], T[1:3, ^100], T[^1:^3, 100]) : ((i8)[*,*], (i8)[*], (i8)[*], (i8)[*], (i8)[*])
BndKind:Tuple, Type:((i8)[*,*], (i8)[*], (i8)[*], (i8)[*], (i8)[*]), Bnd:((Global(T), GetSlice(Global(T), Slice(1:i8:3:i8:null:i8?), Index(0:i8, None)):(i8)[*], GetSlice(Global(T), Slice(^(1:i8):^(3:i8):null:i8?), Index(0:i8, None)):(i8)[*], GetSlice(Global(T), Slice(1:i8:3:i8:null:i8?), Index(100:i8, Back)):(i8)[*], GetSlice(Global(T), Slice(^(1:i8):^(3:i8):null:i8?), Index(100:i8, None)):(i8)[*]):((i8)[*,*], (i8)[*], (i8)[*], (i8)[*], (i8)[*]))
Func sig: (T:(i8)[*,*]) to ((i8)[*,*], (i8)[*], (i8)[*], (i8)[*], (i8)[*])
Type: (Ten<(i8)>,Ten<(i8)>,Ten<(i8)>,Ten<(i8)>,Ten<(i8)>), Value: (
    Ten<(i8)>(4,4)<4,1>
      [[(
              0,), (
              1,), (
              2,), (
              3,)]
       [(
              4,), (
              5,), (
              6,), (
              7,)]
       [(
              8,), (
              9,), (
              10,), (
              11,)]
       [(
              12,), (
              13,), (
              14,), (
              15,)]]
  ,
    Ten<(i8)>(2)<4> [(
             4,), (
             8,)],
    Ten<(i8)>(2)<-4> [(
             12,), (
             8,)],
    Ten<(i8)>(2)<0> [(
             0,), (
             0,)],
    Ten<(i8)>(2)<0> [(
             0,), (
             0,)])
###

**** New definitions: T, type: i8[*,*]

> T
T : i8[*,*]
BndKind:Global, Type:i8[*,*], Bnd:(Global(T))
Func sig: (T:i8[*,*]) to i8[*,*]
Ten<i8>(4,4)<4,1>
  [[0, 1, 2, 3]
   [4, 5, 6, 7]
   [8, 9, 10, 11]
   [12, 13, 14, 15]]
###
> (T[:], T[full], T[1, 2:4], T[2:4, 1], T[1:3, 2:4], T[::2, 1::2], T[100:2, 1:2], T[1:2, 100:^100], T[5, 2:9:100], T[^2:^9:3, 1], T[^2:^9:-3, ^1], T[^100:^2, ^2], T[^2, ^100:^2], T[^5, 1:3], T[1:3, ^5], T[1:3, 5])
(T[:], T[full], T[1, 2:4], T[2:4, 1], T[1:3, 2:4], T[::2, 1::2], T[100:2, 1:2], T[1:2, 100:^100], T[5, 2:9:100], T[^2:^9:3, 1], T[^2:^9:-3, ^1], T[^100:^2, ^2], T[^2, ^100:^2], T[^5, 1:3], T[1:3, ^5], T[1:3, 5]) : (i8[*,*], i8[*,*], i8[*], i8[*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*])
BndKind:Tuple, Type:(i8[*,*], i8[*,*], i8[*], i8[*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*]), Bnd:((Global(T), GetSlice(Global(T), Slice(Global(full)), Slice(null:i8?:null:i8?:null:i8?)):i8[*,*], GetSlice(Global(T), Index(1:i8, None), Slice(2:i8:4:i8:null:i8?)):i8[*], GetSlice(Global(T), Slice(2:i8:4:i8:null:i8?), Index(1:i8, None)):i8[*], GetSlice(Global(T), Slice(1:i8:3:i8:null:i8?), Slice(2:i8:4:i8:null:i8?)):i8[*,*], GetSlice(Global(T), Slice(null:i8?:null:i8?:2:i8), Slice(1:i8:null:i8?:2:i8)):i8[*,*], GetSlice(Global(T), Slice(100:i8:2:i8:null:i8?), Slice(1:i8:2:i8:null:i8?)):i8[*,*], GetSlice(Global(T), Slice(1:i8:2:i8:null:i8?), Slice(100:i8:^(100:i8):null:i8?)):i8[*,*], GetSlice(Global(T), Index(5:i8, None), Slice(2:i8:9:i8:100:i8)):i8[*], GetSlice(Global(T), Slice(^(2:i8):^(9:i8):3:i8), Index(1:i8, None)):i8[*], GetSlice(Global(T), Slice(^(2:i8):^(9:i8):-3:i8), Index(1:i8, Back)):i8[*], GetSlice(Global(T), Slice(^(100:i8):^(2:i8):null:i8?), Index(2:i8, Back)):i8[*], GetSlice(Global(T), Index(2:i8, Back), Slice(^(100:i8):^(2:i8):null:i8?)):i8[*], GetSlice(Global(T), Index(5:i8, Back), Slice(1:i8:3:i8:null:i8?)):i8[*], GetSlice(Global(T), Slice(1:i8:3:i8:null:i8?), Index(5:i8, Back)):i8[*], GetSlice(Global(T), Slice(1:i8:3:i8:null:i8?), Index(5:i8, None)):i8[*]):(i8[*,*], i8[*,*], i8[*], i8[*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*]))
Func sig: (T:i8[*,*], full:(i8?, i8?, i8?)) to (i8[*,*], i8[*,*], i8[*], i8[*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(4,4)<4,1>
      [[0, 1, 2, 3]
       [4, 5, 6, 7]
       [8, 9, 10, 11]
       [12, 13, 14, 15]]
  ,
    Ten<i8>(4,4)<4,1>
      [[0, 1, 2, 3]
       [4, 5, 6, 7]
       [8, 9, 10, 11]
       [12, 13, 14, 15]]
  ,
    Ten<i8>(2)<1> [6, 7],
    Ten<i8>(2)<4> [9, 13],
    Ten<i8>(2,2)<4,1>
      [[6, 7]
       [10, 11]]
  ,
    Ten<i8>(2,2)<8,2>
      [[1, 3]
       [9, 11]]
  ,
    Ten<i8>(1,1)<0,0>
      [[13]]
  ,
    Ten<i8>(1,4)<0,-1>
      [[7, 6, 5, 4]]
  ,
    Ten<i8>(1)<0> [0],
    Ten<i8>(0)<0> [],
    Ten<i8>(1)<0> [11],
    Ten<i8>(2)<4> [2, 6],
    Ten<i8>(2)<1> [8, 9],
    Ten<i8>(2)<0> [0, 0],
    Ten<i8>(2)<0> [0, 0],
    Ten<i8>(2)<0> [0, 0])
###
> (T[0, 0:3:0], T[0, 3:0:0], T[^1:^3:0, 0], T[^3:^1:0, 0])
(T[0, 0:3:0], T[0, 3:0:0], T[^1:^3:0, 0], T[^3:^1:0, 0]) : (i8[*], i8[*], i8[*], i8[*])
BndKind:Tuple, Type:(i8[*], i8[*], i8[*], i8[*]), Bnd:((GetSlice(Global(T), Index(0:i8, None), Slice(0:i8:3:i8:0:i8)):i8[*], GetSlice(Global(T), Index(0:i8, None), Slice(3:i8:0:i8:0:i8)):i8[*], GetSlice(Global(T), Slice(^(1:i8):^(3:i8):0:i8), Index(0:i8, None)):i8[*], GetSlice(Global(T), Slice(^(3:i8):^(1:i8):0:i8), Index(0:i8, None)):i8[*]):(i8[*], i8[*], i8[*], i8[*]))
Func sig: (T:i8[*,*]) to (i8[*], i8[*], i8[*], i8[*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(3)<1> [0, 1, 2],
    Ten<i8>(3)<-1> [3, 2, 1],
    Ten<i8>(2)<-4> [12, 8],
    Ten<i8>(2)<4> [4, 8])
###
> (T[2:1:, 1], T[2:1:0, 1])
(T[2:1:, 1], T[2:1:0, 1]) : (i8[*], i8[*])
BndKind:Tuple, Type:(i8[*], i8[*]), Bnd:((GetSlice(Global(T), Slice(2:i8:1:i8:null:i8?), Index(1:i8, None)):i8[*], GetSlice(Global(T), Slice(2:i8:1:i8:0:i8), Index(1:i8, None)):i8[*]):(i8[*], i8[*]))
Func sig: (T:i8[*,*]) to (i8[*], i8[*])
Type: (Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(1)<0> [9],
    Ten<i8>(1)<0> [9])
###

**** New definitions: T, type: i8[*,*,*]

> T
T : i8[*,*,*]
BndKind:Global, Type:i8[*,*,*], Bnd:(Global(T))
Func sig: (T:i8[*,*,*]) to i8[*,*,*]
Ten<i8>(3,4,4)<16,4,1>
  [[[0, 1, 2, 3]
    [4, 5, 6, 7]
    [8, 9, 10, 11]
    [12, 13, 14, 15]]

   [[16, 17, 18, 19]
    [20, 21, 22, 23]
    [24, 25, 26, 27]
    [28, 29, 30, 31]]

   [[32, 33, 34, 35]
    [36, 37, 38, 39]
    [40, 41, 42, 43]
    [44, 45, 46, 47]]]
###
> (T[:], T[full], T[2, 2, 2:4], T[2, 2:4:2, 1], T[0, 2:4:2, 1:4:2], T[1:3, 1, 3], T[1:3, 2, 0:4:2], T[1:3:2, 0:3:2, 2], T[1:3:2, 0:3:2, 3:1:-1])
(T[:], T[full], T[2, 2, 2:4], T[2, 2:4:2, 1], T[0, 2:4:2, 1:4:2], T[1:3, 1, 3], T[1:3, 2, 0:4:2], T[1:3:2, 0:3:2, 2], T[1:3:2, 0:3:2, 3:1:-1]) : (i8[*,*,*], i8[*,*,*], i8[*], i8[*], i8[*,*], i8[*], i8[*,*], i8[*,*], i8[*,*,*])
BndKind:Tuple, Type:(i8[*,*,*], i8[*,*,*], i8[*], i8[*], i8[*,*], i8[*], i8[*,*], i8[*,*], i8[*,*,*]), Bnd:((Global(T), GetSlice(Global(T), Slice(Global(full)), Slice(null:i8?:null:i8?:null:i8?), Slice(null:i8?:null:i8?:null:i8?)):i8[*,*,*], GetSlice(Global(T), Index(2:i8, None), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?)):i8[*], GetSlice(Global(T), Index(2:i8, None), Slice(2:i8:4:i8:2:i8), Index(1:i8, None)):i8[*], GetSlice(Global(T), Index(0:i8, None), Slice(2:i8:4:i8:2:i8), Slice(1:i8:4:i8:2:i8)):i8[*,*], GetSlice(Global(T), Slice(1:i8:3:i8:null:i8?), Index(1:i8, None), Index(3:i8, None)):i8[*], GetSlice(Global(T), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(0:i8:4:i8:2:i8)):i8[*,*], GetSlice(Global(T), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Index(2:i8, None)):i8[*,*], GetSlice(Global(T), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Slice(3:i8:1:i8:-1:i8)):i8[*,*,*]):(i8[*,*,*], i8[*,*,*], i8[*], i8[*], i8[*,*], i8[*], i8[*,*], i8[*,*], i8[*,*,*]))
Func sig: (T:i8[*,*,*], full:(i8?, i8?, i8?)) to (i8[*,*,*], i8[*,*,*], i8[*], i8[*], i8[*,*], i8[*], i8[*,*], i8[*,*], i8[*,*,*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(3,4,4)<16,4,1>
      [[[0, 1, 2, 3]
        [4, 5, 6, 7]
        [8, 9, 10, 11]
        [12, 13, 14, 15]]

       [[16, 17, 18, 19]
        [20, 21, 22, 23]
        [24, 25, 26, 27]
        [28, 29, 30, 31]]

       [[32, 33, 34, 35]
        [36, 37, 38, 39]
        [40, 41, 42, 43]
        [44, 45, 46, 47]]]
  ,
    Ten<i8>(3,4,4)<16,4,1>
      [[[0, 1, 2, 3]
        [4, 5, 6, 7]
        [8, 9, 10, 11]
        [12, 13, 14, 15]]

       [[16, 17, 18, 19]
        [20, 21, 22, 23]
        [24, 25, 26, 27]
        [28, 29, 30, 31]]

       [[32, 33, 34, 35]
        [36, 37, 38, 39]
        [40, 41, 42, 43]
        [44, 45, 46, 47]]]
  ,
    Ten<i8>(2)<1> [42, 43],
    Ten<i8>(1)<0> [41],
    Ten<i8>(1,2)<0,2>
      [[9, 11]]
  ,
    Ten<i8>(2)<16> [23, 39],
    Ten<i8>(2,2)<16,2>
      [[24, 26]
       [40, 42]]
  ,
    Ten<i8>(1,2)<0,8>
      [[18, 26]]
  ,
    Ten<i8>(1,2,2)<0,8,-1>
      [[[19, 18]
        [27, 26]]]
)
###
> (T[^1:^3, 1, 2], T[1, ^1:^3, 2], T[1, 2, ^1:^3], T[1, 2, ^100:^1], T[^100:^1, 1, 2], T[1,^100:^1, 2], T[1, 2, ^1:^100], T[100:^100, 1, 2], T[1, 2, 100:^100], T[1, 100:^100, 2])
(T[^1:^3, 1, 2], T[1, ^1:^3, 2], T[1, 2, ^1:^3], T[1, 2, ^100:^1], T[^100:^1, 1, 2], T[1, ^100:^1, 2], T[1, 2, ^1:^100], T[100:^100, 1, 2], T[1, 2, 100:^100], T[1, 100:^100, 2]) : (i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*])
BndKind:Tuple, Type:(i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*]), Bnd:((GetSlice(Global(T), Slice(^(1:i8):^(3:i8):null:i8?), Index(1:i8, None), Index(2:i8, None)):i8[*], GetSlice(Global(T), Index(1:i8, None), Slice(^(1:i8):^(3:i8):null:i8?), Index(2:i8, None)):i8[*], GetSlice(Global(T), Index(1:i8, None), Index(2:i8, None), Slice(^(1:i8):^(3:i8):null:i8?)):i8[*], GetSlice(Global(T), Index(1:i8, None), Index(2:i8, None), Slice(^(100:i8):^(1:i8):null:i8?)):i8[*], GetSlice(Global(T), Slice(^(100:i8):^(1:i8):null:i8?), Index(1:i8, None), Index(2:i8, None)):i8[*], GetSlice(Global(T), Index(1:i8, None), Slice(^(100:i8):^(1:i8):null:i8?), Index(2:i8, None)):i8[*], GetSlice(Global(T), Index(1:i8, None), Index(2:i8, None), Slice(^(1:i8):^(100:i8):null:i8?)):i8[*], GetSlice(Global(T), Slice(100:i8:^(100:i8):null:i8?), Index(1:i8, None), Index(2:i8, None)):i8[*], GetSlice(Global(T), Index(1:i8, None), Index(2:i8, None), Slice(100:i8:^(100:i8):null:i8?)):i8[*], GetSlice(Global(T), Index(1:i8, None), Slice(100:i8:^(100:i8):null:i8?), Index(2:i8, None)):i8[*]):(i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*]))
Func sig: (T:i8[*,*,*]) to (i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*], i8[*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(2)<-16> [38, 22],
    Ten<i8>(2)<-4> [30, 26],
    Ten<i8>(2)<-1> [27, 26],
    Ten<i8>(3)<1> [24, 25, 26],
    Ten<i8>(2)<16> [6, 22],
    Ten<i8>(3)<4> [18, 22, 26],
    Ten<i8>(4)<-1> [27, 26, 25, 24],
    Ten<i8>(3)<-16> [38, 22, 6],
    Ten<i8>(4)<-1> [27, 26, 25, 24],
    Ten<i8>(4)<-4> [30, 26, 22, 18])
###
> (T[1:2, 0, ^5], T[1:2, ^5, 0], T[^5, 1:2, 0], T[1:2, 0, 5], T[1:2, 5, 0], T[5, 1:2, 0])
(T[1:2, 0, ^5], T[1:2, ^5, 0], T[^5, 1:2, 0], T[1:2, 0, 5], T[1:2, 5, 0], T[5, 1:2, 0]) : (i8[*], i8[*], i8[*], i8[*], i8[*], i8[*])
BndKind:Tuple, Type:(i8[*], i8[*], i8[*], i8[*], i8[*], i8[*]), Bnd:((GetSlice(Global(T), Slice(1:i8:2:i8:null:i8?), Index(0:i8, None), Index(5:i8, Back)):i8[*], GetSlice(Global(T), Slice(1:i8:2:i8:null:i8?), Index(5:i8, Back), Index(0:i8, None)):i8[*], GetSlice(Global(T), Index(5:i8, Back), Slice(1:i8:2:i8:null:i8?), Index(0:i8, None)):i8[*], GetSlice(Global(T), Slice(1:i8:2:i8:null:i8?), Index(0:i8, None), Index(5:i8, None)):i8[*], GetSlice(Global(T), Slice(1:i8:2:i8:null:i8?), Index(5:i8, None), Index(0:i8, None)):i8[*], GetSlice(Global(T), Index(5:i8, None), Slice(1:i8:2:i8:null:i8?), Index(0:i8, None)):i8[*]):(i8[*], i8[*], i8[*], i8[*], i8[*], i8[*]))
Func sig: (T:i8[*,*,*]) to (i8[*], i8[*], i8[*], i8[*], i8[*], i8[*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(1)<0> [0],
    Ten<i8>(1)<0> [0],
    Ten<i8>(1)<0> [0],
    Ten<i8>(1)<0> [0],
    Ten<i8>(1)<0> [0],
    Ten<i8>(1)<0> [0])
###
> (T[0, 1, 0:3:0], T[0, 3:0:0, 1], T[^1:^3:0, 0, 1], T[^3:^1:0, 0, 1])
(T[0, 1, 0:3:0], T[0, 3:0:0, 1], T[^1:^3:0, 0, 1], T[^3:^1:0, 0, 1]) : (i8[*], i8[*], i8[*], i8[*])
BndKind:Tuple, Type:(i8[*], i8[*], i8[*], i8[*]), Bnd:((GetSlice(Global(T), Index(0:i8, None), Index(1:i8, None), Slice(0:i8:3:i8:0:i8)):i8[*], GetSlice(Global(T), Index(0:i8, None), Slice(3:i8:0:i8:0:i8), Index(1:i8, None)):i8[*], GetSlice(Global(T), Slice(^(1:i8):^(3:i8):0:i8), Index(0:i8, None), Index(1:i8, None)):i8[*], GetSlice(Global(T), Slice(^(3:i8):^(1:i8):0:i8), Index(0:i8, None), Index(1:i8, None)):i8[*]):(i8[*], i8[*], i8[*], i8[*]))
Func sig: (T:i8[*,*,*]) to (i8[*], i8[*], i8[*], i8[*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(3)<1> [4, 5, 6],
    Ten<i8>(3)<-4> [13, 9, 5],
    Ten<i8>(2)<-16> [33, 17],
    Ten<i8>(2)<16> [1, 17])
###
> (T[2:1:, 1], T[2:1:0, 1])
(T[2:1:, 1], T[2:1:0, 1]) : (i8[*,*], i8[*,*])
BndKind:Tuple, Type:(i8[*,*], i8[*,*]), Bnd:((GetSlice(Global(T), Slice(2:i8:1:i8:null:i8?), Index(1:i8, None), Slice(null:i8?:null:i8?:null:i8?)):i8[*,*], GetSlice(Global(T), Slice(2:i8:1:i8:0:i8), Index(1:i8, None), Slice(null:i8?:null:i8?:null:i8?)):i8[*,*]):(i8[*,*], i8[*,*]))
Func sig: (T:i8[*,*,*]) to (i8[*,*], i8[*,*])
Type: (Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(1,4)<0,1>
      [[36, 37, 38, 39]]
  ,
    Ten<i8>(1,4)<0,1>
      [[36, 37, 38, 39]]
)
###

**** New definitions: T, type: i8[*,*,*,*]

> T
T : i8[*,*,*,*]
BndKind:Global, Type:i8[*,*,*,*], Bnd:(Global(T))
Func sig: (T:i8[*,*,*,*]) to i8[*,*,*,*]
Ten<i8>(3,3,4,4)<48,16,4,1>
  [[[[0, 1, 2, 3]
     [4, 5, 6, 7]
     [8, 9, 10, 11]
     [12, 13, 14, 15]]

    [[16, 17, 18, 19]
     [20, 21, 22, 23]
     [24, 25, 26, 27]
     [28, 29, 30, 31]]

    [[32, 33, 34, 35]
     [36, 37, 38, 39]
     [40, 41, 42, 43]
     [44, 45, 46, 47]]]


   [[[48, 49, 50, 51]
     [52, 53, 54, 55]
     [56, 57, 58, 59]
     [60, 61, 62, 63]]

    [[64, 65, 66, 67]
     [68, 69, 70, 71]
     [72, 73, 74, 75]
     [76, 77, 78, 79]]

    [[80, 81, 82, 83]
     [84, 85, 86, 87]
     [88, 89, 90, 91]
     [92, 93, 94, 95]]]


   [[[96, 97, 98, 99]
     [100, 101, 102, 103]
     [104, 105, 106, 107]
     [108, 109, 110, 111]]

    [[112, 113, 114, 115]
     [116, 117, 118, 119]
     [120, 121, 122, 123]
     [124, 125, 126, 127]]

    [[128, 129, 130, 131]
     [132, 133, 134, 135]
     [136, 137, 138, 139]
     [140, 141, 142, 143]]]]
###
> (T[:], T[full], T[1, 2, 2, 2:4], T[1, 2, 2:4:2, 1], T[2, 0, 2:4:2, 1:4:2], T[1, 1:3, 1, 3], T[^2, 1:3, 2, 0:4:2], T[^2, 1:3:2, 0:3:2, 2], T[^1, 1:3:2, 0:3:2, 3:1:-1])
(T[:], T[full], T[1, 2, 2, 2:4], T[1, 2, 2:4:2, 1], T[2, 0, 2:4:2, 1:4:2], T[1, 1:3, 1, 3], T[^2, 1:3, 2, 0:4:2], T[^2, 1:3:2, 0:3:2, 2], T[^1, 1:3:2, 0:3:2, 3:1:-1]) : (i8[*,*,*,*], i8[*,*,*,*], i8[*], i8[*], i8[*,*], i8[*], i8[*,*], i8[*,*], i8[*,*,*])
BndKind:Tuple, Type:(i8[*,*,*,*], i8[*,*,*,*], i8[*], i8[*], i8[*,*], i8[*], i8[*,*], i8[*,*], i8[*,*,*]), Bnd:((Global(T), GetSlice(Global(T), Slice(Global(full)), Slice(null:i8?:null:i8?:null:i8?), Slice(null:i8?:null:i8?:null:i8?), Slice(null:i8?:null:i8?:null:i8?)):i8[*,*,*,*], GetSlice(Global(T), Index(1:i8, None), Index(2:i8, None), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?)):i8[*], GetSlice(Global(T), Index(1:i8, None), Index(2:i8, None), Slice(2:i8:4:i8:2:i8), Index(1:i8, None)):i8[*], GetSlice(Global(T), Index(2:i8, None), Index(0:i8, None), Slice(2:i8:4:i8:2:i8), Slice(1:i8:4:i8:2:i8)):i8[*,*], GetSlice(Global(T), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Index(1:i8, None), Index(3:i8, None)):i8[*], GetSlice(Global(T), Index(2:i8, Back), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(0:i8:4:i8:2:i8)):i8[*,*], GetSlice(Global(T), Index(2:i8, Back), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Index(2:i8, None)):i8[*,*], GetSlice(Global(T), Index(1:i8, Back), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Slice(3:i8:1:i8:-1:i8)):i8[*,*,*]):(i8[*,*,*,*], i8[*,*,*,*], i8[*], i8[*], i8[*,*], i8[*], i8[*,*], i8[*,*], i8[*,*,*]))
Func sig: (T:i8[*,*,*,*], full:(i8?, i8?, i8?)) to (i8[*,*,*,*], i8[*,*,*,*], i8[*], i8[*], i8[*,*], i8[*], i8[*,*], i8[*,*], i8[*,*,*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(3,3,4,4)<48,16,4,1>
      [[[[0, 1, 2, 3]
         [4, 5, 6, 7]
         [8, 9, 10, 11]
         [12, 13, 14, 15]]

        [[16, 17, 18, 19]
         [20, 21, 22, 23]
         [24, 25, 26, 27]
         [28, 29, 30, 31]]

        [[32, 33, 34, 35]
         [36, 37, 38, 39]
         [40, 41, 42, 43]
         [44, 45, 46, 47]]]


       [[[48, 49, 50, 51]
         [52, 53, 54, 55]
         [56, 57, 58, 59]
         [60, 61, 62, 63]]

        [[64, 65, 66, 67]
         [68, 69, 70, 71]
         [72, 73, 74, 75]
         [76, 77, 78, 79]]

        [[80, 81, 82, 83]
         [84, 85, 86, 87]
         [88, 89, 90, 91]
         [92, 93, 94, 95]]]


       [[[96, 97, 98, 99]
         [100, 101, 102, 103]
         [104, 105, 106, 107]
         [108, 109, 110, 111]]

        [[112, 113, 114, 115]
         [116, 117, 118, 119]
         [120, 121, 122, 123]
         [124, 125, 126, 127]]

        [[128, 129, 130, 131]
         [132, 133, 134, 135]
         [136, 137, 138, 139]
         [140, 141, 142, 143]]]]
  ,
    Ten<i8>(3,3,4,4)<48,16,4,1>
      [[[[0, 1, 2, 3]
         [4, 5, 6, 7]
         [8, 9, 10, 11]
         [12, 13, 14, 15]]

        [[16, 17, 18, 19]
         [20, 21, 22, 23]
         [24, 25, 26, 27]
         [28, 29, 30, 31]]

        [[32, 33, 34, 35]
         [36, 37, 38, 39]
         [40, 41, 42, 43]
         [44, 45, 46, 47]]]


       [[[48, 49, 50, 51]
         [52, 53, 54, 55]
         [56, 57, 58, 59]
         [60, 61, 62, 63]]

        [[64, 65, 66, 67]
         [68, 69, 70, 71]
         [72, 73, 74, 75]
         [76, 77, 78, 79]]

        [[80, 81, 82, 83]
         [84, 85, 86, 87]
         [88, 89, 90, 91]
         [92, 93, 94, 95]]]


       [[[96, 97, 98, 99]
         [100, 101, 102, 103]
         [104, 105, 106, 107]
         [108, 109, 110, 111]]

        [[112, 113, 114, 115]
         [116, 117, 118, 119]
         [120, 121, 122, 123]
         [124, 125, 126, 127]]

        [[128, 129, 130, 131]
         [132, 133, 134, 135]
         [136, 137, 138, 139]
         [140, 141, 142, 143]]]]
  ,
    Ten<i8>(2)<1> [90, 91],
    Ten<i8>(1)<0> [89],
    Ten<i8>(1,2)<0,2>
      [[105, 107]]
  ,
    Ten<i8>(2)<16> [71, 87],
    Ten<i8>(2,2)<16,2>
      [[72, 74]
       [88, 90]]
  ,
    Ten<i8>(1,2)<0,8>
      [[66, 74]]
  ,
    Ten<i8>(1,2,2)<0,8,-1>
      [[[115, 114]
        [123, 122]]]
)
###
> (T[::2, ^2, ^2, ^1], T[1:3:2, 2, 2, 2:4], T[^3:2, 2, 2:4:2, 1], T[1:2, 0, 2:4:2, 1:4:2], T[1:3, 1:3, 1, 3], T[^2:^3, 1:3, 2, 0:4:2], T[^2:^3, 1:3:2, 0:3:2, 2], T[^1:^3, 1:3:2, 0:3:2, 0:2:4])
(T[::2, ^2, ^2, ^1], T[1:3:2, 2, 2, 2:4], T[^3:2, 2, 2:4:2, 1], T[1:2, 0, 2:4:2, 1:4:2], T[1:3, 1:3, 1, 3], T[^2:^3, 1:3, 2, 0:4:2], T[^2:^3, 1:3:2, 0:3:2, 2], T[^1:^3, 1:3:2, 0:3:2, 0:2:4]) : (i8[*], i8[*,*], i8[*,*], i8[*,*,*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*])
BndKind:Tuple, Type:(i8[*], i8[*,*], i8[*,*], i8[*,*,*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*]), Bnd:((GetSlice(Global(T), Slice(null:i8?:null:i8?:2:i8), Index(2:i8, Back), Index(2:i8, Back), Index(1:i8, Back)):i8[*], GetSlice(Global(T), Slice(1:i8:3:i8:2:i8), Index(2:i8, None), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?)):i8[*,*], GetSlice(Global(T), Slice(^(3:i8):2:i8:null:i8?), Index(2:i8, None), Slice(2:i8:4:i8:2:i8), Index(1:i8, None)):i8[*,*], GetSlice(Global(T), Slice(1:i8:2:i8:null:i8?), Index(0:i8, None), Slice(2:i8:4:i8:2:i8), Slice(1:i8:4:i8:2:i8)):i8[*,*,*], GetSlice(Global(T), Slice(1:i8:3:i8:null:i8?), Slice(1:i8:3:i8:null:i8?), Index(1:i8, None), Index(3:i8, None)):i8[*,*], GetSlice(Global(T), Slice(^(2:i8):^(3:i8):null:i8?), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(0:i8:4:i8:2:i8)):i8[*,*,*], GetSlice(Global(T), Slice(^(2:i8):^(3:i8):null:i8?), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Index(2:i8, None)):i8[*,*,*], GetSlice(Global(T), Slice(^(1:i8):^(3:i8):null:i8?), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Slice(0:i8:2:i8:4:i8)):i8[*,*,*,*]):(i8[*], i8[*,*], i8[*,*], i8[*,*,*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*]))
Func sig: (T:i8[*,*,*,*]) to (i8[*], i8[*,*], i8[*,*], i8[*,*,*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(2)<96> [27, 123],
    Ten<i8>(1,2)<0,1>
      [[90, 91]]
  ,
    Ten<i8>(2,1)<48,0>
      [[41]
       [89]]
  ,
    Ten<i8>(1,1,2)<0,0,2>
      [[[57, 59]]]
  ,
    Ten<i8>(2,2)<48,16>
      [[71, 87]
       [119, 135]]
  ,
    Ten<i8>(1,2,2)<0,16,2>
      [[[72, 74]
        [88, 90]]]
  ,
    Ten<i8>(1,1,2)<0,0,8>
      [[[66, 74]]]
  ,
    Ten<i8>(2,1,2,1)<-48,0,8,0>
      [[[[112]
         [120]]]


       [[[64]
         [72]]]]
)
###
> (T[^1:^3, 2:4, 1, 2], T[2:4, ^1:^3, 1, 2], T[2:4, 1, ^1:^3, 2], T[2:4, 1, 2, ^1:^3], T[1, 2, 2:4, ^100:^1], T[1, 2, ^100:^1, 2:4], T[1,^100:^1, 2, 2:4], T[^100:^1, 1, 2, 2:4], T[100:^100, 1, 2, 2:4], T[1, 100:^100, 2, 2:4], T[1, 2, 100:^100, 2:4], T[1, 2, 2:4, 100:^100])
(T[^1:^3, 2:4, 1, 2], T[2:4, ^1:^3, 1, 2], T[2:4, 1, ^1:^3, 2], T[2:4, 1, 2, ^1:^3], T[1, 2, 2:4, ^100:^1], T[1, 2, ^100:^1, 2:4], T[1, ^100:^1, 2, 2:4], T[^100:^1, 1, 2, 2:4], T[100:^100, 1, 2, 2:4], T[1, 100:^100, 2, 2:4], T[1, 2, 100:^100, 2:4], T[1, 2, 2:4, 100:^100]) : (i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*])
BndKind:Tuple, Type:(i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*]), Bnd:((GetSlice(Global(T), Slice(^(1:i8):^(3:i8):null:i8?), Slice(2:i8:4:i8:null:i8?), Index(1:i8, None), Index(2:i8, None)):i8[*,*], GetSlice(Global(T), Slice(2:i8:4:i8:null:i8?), Slice(^(1:i8):^(3:i8):null:i8?), Index(1:i8, None), Index(2:i8, None)):i8[*,*], GetSlice(Global(T), Slice(2:i8:4:i8:null:i8?), Index(1:i8, None), Slice(^(1:i8):^(3:i8):null:i8?), Index(2:i8, None)):i8[*,*], GetSlice(Global(T), Slice(2:i8:4:i8:null:i8?), Index(1:i8, None), Index(2:i8, None), Slice(^(1:i8):^(3:i8):null:i8?)):i8[*,*], GetSlice(Global(T), Index(1:i8, None), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?), Slice(^(100:i8):^(1:i8):null:i8?)):i8[*,*], GetSlice(Global(T), Index(1:i8, None), Index(2:i8, None), Slice(^(100:i8):^(1:i8):null:i8?), Slice(2:i8:4:i8:null:i8?)):i8[*,*], GetSlice(Global(T), Index(1:i8, None), Slice(^(100:i8):^(1:i8):null:i8?), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?)):i8[*,*], GetSlice(Global(T), Slice(^(100:i8):^(1:i8):null:i8?), Index(1:i8, None), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?)):i8[*,*], GetSlice(Global(T), Slice(100:i8:^(100:i8):null:i8?), Index(1:i8, None), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?)):i8[*,*], GetSlice(Global(T), Index(1:i8, None), Slice(100:i8:^(100:i8):null:i8?), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?)):i8[*,*], GetSlice(Global(T), Index(1:i8, None), Index(2:i8, None), Slice(100:i8:^(100:i8):null:i8?), Slice(2:i8:4:i8:null:i8?)):i8[*,*], GetSlice(Global(T), Index(1:i8, None), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?), Slice(100:i8:^(100:i8):null:i8?)):i8[*,*]):(i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*]))
Func sig: (T:i8[*,*,*,*]) to (i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(2,1)<-48,0>
      [[134]
       [86]]
  ,
    Ten<i8>(1,2)<0,-16>
      [[134, 118]]
  ,
    Ten<i8>(1,2)<0,-4>
      [[126, 122]]
  ,
    Ten<i8>(1,2)<0,-1>
      [[123, 122]]
  ,
    Ten<i8>(2,3)<4,1>
      [[88, 89, 90]
       [92, 93, 94]]
  ,
    Ten<i8>(3,2)<4,1>
      [[82, 83]
       [86, 87]
       [90, 91]]
  ,
    Ten<i8>(2,2)<16,1>
      [[58, 59]
       [74, 75]]
  ,
    Ten<i8>(2,2)<48,1>
      [[26, 27]
       [74, 75]]
  ,
    Ten<i8>(3,2)<-48,1>
      [[122, 123]
       [74, 75]
       [26, 27]]
  ,
    Ten<i8>(3,2)<-16,1>
      [[90, 91]
       [74, 75]
       [58, 59]]
  ,
    Ten<i8>(4,2)<-4,1>
      [[94, 95]
       [90, 91]
       [86, 87]
       [82, 83]]
  ,
    Ten<i8>(2,4)<4,-1>
      [[91, 90, 89, 88]
       [95, 94, 93, 92]]
)
###
> (T[1:2, 2:3, 0, ^5], T[1:2, ^5, 2:3, 0], T[1:2, 2:3, ^5, 0], T[^5, 1:2, 2:3, 0], T[1:2, 2:3, 0, 5], T[1:2, 5, 2:3, 0], T[1:2, 2:3, 5, 0], T[5, 1:2, 2:3, 0])
(T[1:2, 2:3, 0, ^5], T[1:2, ^5, 2:3, 0], T[1:2, 2:3, ^5, 0], T[^5, 1:2, 2:3, 0], T[1:2, 2:3, 0, 5], T[1:2, 5, 2:3, 0], T[1:2, 2:3, 5, 0], T[5, 1:2, 2:3, 0]) : (i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*])
BndKind:Tuple, Type:(i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*]), Bnd:((GetSlice(Global(T), Slice(1:i8:2:i8:null:i8?), Slice(2:i8:3:i8:null:i8?), Index(0:i8, None), Index(5:i8, Back)):i8[*,*], GetSlice(Global(T), Slice(1:i8:2:i8:null:i8?), Index(5:i8, Back), Slice(2:i8:3:i8:null:i8?), Index(0:i8, None)):i8[*,*], GetSlice(Global(T), Slice(1:i8:2:i8:null:i8?), Slice(2:i8:3:i8:null:i8?), Index(5:i8, Back), Index(0:i8, None)):i8[*,*], GetSlice(Global(T), Index(5:i8, Back), Slice(1:i8:2:i8:null:i8?), Slice(2:i8:3:i8:null:i8?), Index(0:i8, None)):i8[*,*], GetSlice(Global(T), Slice(1:i8:2:i8:null:i8?), Slice(2:i8:3:i8:null:i8?), Index(0:i8, None), Index(5:i8, None)):i8[*,*], GetSlice(Global(T), Slice(1:i8:2:i8:null:i8?), Index(5:i8, None), Slice(2:i8:3:i8:null:i8?), Index(0:i8, None)):i8[*,*], GetSlice(Global(T), Slice(1:i8:2:i8:null:i8?), Slice(2:i8:3:i8:null:i8?), Index(5:i8, None), Index(0:i8, None)):i8[*,*], GetSlice(Global(T), Index(5:i8, None), Slice(1:i8:2:i8:null:i8?), Slice(2:i8:3:i8:null:i8?), Index(0:i8, None)):i8[*,*]):(i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*]))
Func sig: (T:i8[*,*,*,*]) to (i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(1,1)<0,0>
      [[0]]
  ,
    Ten<i8>(1,1)<0,0>
      [[0]]
  ,
    Ten<i8>(1,1)<0,0>
      [[0]]
  ,
    Ten<i8>(1,1)<0,0>
      [[0]]
  ,
    Ten<i8>(1,1)<0,0>
      [[0]]
  ,
    Ten<i8>(1,1)<0,0>
      [[0]]
  ,
    Ten<i8>(1,1)<0,0>
      [[0]]
  ,
    Ten<i8>(1,1)<0,0>
      [[0]]
)
###
> (T[0, 1, 2, 0:3:0], T[0, 1, 3:0:0, 2], T[0, ^1:^3:0, 1, 2], T[^3:^1:0, 0, 1, 2])
(T[0, 1, 2, 0:3:0], T[0, 1, 3:0:0, 2], T[0, ^1:^3:0, 1, 2], T[^3:^1:0, 0, 1, 2]) : (i8[*], i8[*], i8[*], i8[*])
BndKind:Tuple, Type:(i8[*], i8[*], i8[*], i8[*]), Bnd:((GetSlice(Global(T), Index(0:i8, None), Index(1:i8, None), Index(2:i8, None), Slice(0:i8:3:i8:0:i8)):i8[*], GetSlice(Global(T), Index(0:i8, None), Index(1:i8, None), Slice(3:i8:0:i8:0:i8), Index(2:i8, None)):i8[*], GetSlice(Global(T), Index(0:i8, None), Slice(^(1:i8):^(3:i8):0:i8), Index(1:i8, None), Index(2:i8, None)):i8[*], GetSlice(Global(T), Slice(^(3:i8):^(1:i8):0:i8), Index(0:i8, None), Index(1:i8, None), Index(2:i8, None)):i8[*]):(i8[*], i8[*], i8[*], i8[*]))
Func sig: (T:i8[*,*,*,*]) to (i8[*], i8[*], i8[*], i8[*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(3)<1> [24, 25, 26],
    Ten<i8>(3)<-4> [30, 26, 22],
    Ten<i8>(2)<-16> [38, 22],
    Ten<i8>(2)<48> [6, 54])
###
> (T[2:1:, 1], T[2:1:0, 1])
(T[2:1:, 1], T[2:1:0, 1]) : (i8[*,*,*], i8[*,*,*])
BndKind:Tuple, Type:(i8[*,*,*], i8[*,*,*]), Bnd:((GetSlice(Global(T), Slice(2:i8:1:i8:null:i8?), Index(1:i8, None), Slice(null:i8?:null:i8?:null:i8?), Slice(null:i8?:null:i8?:null:i8?)):i8[*,*,*], GetSlice(Global(T), Slice(2:i8:1:i8:0:i8), Index(1:i8, None), Slice(null:i8?:null:i8?:null:i8?), Slice(null:i8?:null:i8?:null:i8?)):i8[*,*,*]):(i8[*,*,*], i8[*,*,*]))
Func sig: (T:i8[*,*,*,*]) to (i8[*,*,*], i8[*,*,*])
Type: (Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(1,4,4)<0,4,1>
      [[[112, 113, 114, 115]
        [116, 117, 118, 119]
        [120, 121, 122, 123]
        [124, 125, 126, 127]]]
  ,
    Ten<i8>(1,4,4)<0,4,1>
      [[[112, 113, 114, 115]
        [116, 117, 118, 119]
        [120, 121, 122, 123]
        [124, 125, 126, 127]]]
)
###

**** New definitions: T, type: i8[*,*,*,*,*]

> T
T : i8[*,*,*,*,*]
BndKind:Global, Type:i8[*,*,*,*,*], Bnd:(Global(T))
Func sig: (T:i8[*,*,*,*,*]) to i8[*,*,*,*,*]
Ten<i8>(4,3,3,4,4)<144,48,16,4,1>
  [[[[[0, 1, 2, 3]
      [4, 5, 6, 7]
      [8, 9, 10, 11]
      [12, 13, 14, 15]]

     [[16, 17, 18, 19]
      [20, 21, 22, 23]
      [24, 25, 26, 27]
      [28, 29, 30, 31]]

     [[32, 33, 34, 35]
      [36, 37, 38, 39]
      [40, 41, 42, 43]
      [44, 45, 46, 47]]]


    [[[48, 49, 50, 51]
      [52, 53, 54, 55]
      [56, 57, 58, 59]
      [60, 61, 62, 63]]

     [[64, 65, 66, 67]
      [68, 69, 70, 71]
      [72, 73, 74, 75]
      [76, 77, 78, 79]]

     [[80, 81, 82, 83]
      [84, 85, 86, 87]
      [88, 89, 90, 91]
      [92, 93, 94, 95]]]


    [[[96, 97, 98, 99]
      [100, 101, 102, 103]
      [104, 105, 106, 107]
      [108, 109, 110, 111]]

     [[112, 113, 114, 115]
      [116, 117, 118, 119]
      [120, 121, 122, 123]
      [124, 125, 126, 127]]

     [[128, 129, 130, 131]
      [132, 133, 134, 135]
      [136, 137, 138, 139]
      [140, 141, 142, 143]]]]



   [[[[144, 145, 146, 147]
      [148, 149, 150, 151]
      [152, 153, 154, 155]
      [156, 157, 158, 159]]

     [[160, 161, 162, 163]
      [164, 165, 166, 167]
      [168, 169, 170, 171]
      [172, 173, 174, 175]]

     [[176, 177, 178, 179]
      [180, 181, 182, 183]
      [184, 185, 186, 187]
      [188, 189, 190, 191]]]


    [[[192, 193, 194, 195]
      [196, 197, 198, 199]
      [...]]]]]
###
> (T[:], T[full], T[3, 1, 2, 2, 2:4], T[3, 1, 2, 2:4:2, 1], T[3, 2, 0, 2:4:2, 1:4:2], T[3, 1, 1:3, 1, 3], T[3, ^2, 1:3, 2, 0:4:2], T[3, ^2, 1:3:2, 0:3:2, 2], T[3, ^1, 1:3:2, 0:3:2, 3:1:-1])
(T[:], T[full], T[3, 1, 2, 2, 2:4], T[3, 1, 2, 2:4:2, 1], T[3, 2, 0, 2:4:2, 1:4:2], T[3, 1, 1:3, 1, 3], T[3, ^2, 1:3, 2, 0:4:2], T[3, ^2, 1:3:2, 0:3:2, 2], T[3, ^1, 1:3:2, 0:3:2, 3:1:-1]) : (i8[*,*,*,*,*], i8[*,*,*,*,*], i8[*], i8[*], i8[*,*], i8[*], i8[*,*], i8[*,*], i8[*,*,*])
BndKind:Tuple, Type:(i8[*,*,*,*,*], i8[*,*,*,*,*], i8[*], i8[*], i8[*,*], i8[*], i8[*,*], i8[*,*], i8[*,*,*]), Bnd:((Global(T), GetSlice(Global(T), Slice(Global(full)), Slice(null:i8?:null:i8?:null:i8?), Slice(null:i8?:null:i8?:null:i8?), Slice(null:i8?:null:i8?:null:i8?), Slice(null:i8?:null:i8?:null:i8?)):i8[*,*,*,*,*], GetSlice(Global(T), Index(3:i8, None), Index(1:i8, None), Index(2:i8, None), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?)):i8[*], GetSlice(Global(T), Index(3:i8, None), Index(1:i8, None), Index(2:i8, None), Slice(2:i8:4:i8:2:i8), Index(1:i8, None)):i8[*], GetSlice(Global(T), Index(3:i8, None), Index(2:i8, None), Index(0:i8, None), Slice(2:i8:4:i8:2:i8), Slice(1:i8:4:i8:2:i8)):i8[*,*], GetSlice(Global(T), Index(3:i8, None), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Index(1:i8, None), Index(3:i8, None)):i8[*], GetSlice(Global(T), Index(3:i8, None), Index(2:i8, Back), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(0:i8:4:i8:2:i8)):i8[*,*], GetSlice(Global(T), Index(3:i8, None), Index(2:i8, Back), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Index(2:i8, None)):i8[*,*], GetSlice(Global(T), Index(3:i8, None), Index(1:i8, Back), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Slice(3:i8:1:i8:-1:i8)):i8[*,*,*]):(i8[*,*,*,*,*], i8[*,*,*,*,*], i8[*], i8[*], i8[*,*], i8[*], i8[*,*], i8[*,*], i8[*,*,*]))
Func sig: (T:i8[*,*,*,*,*], full:(i8?, i8?, i8?)) to (i8[*,*,*,*,*], i8[*,*,*,*,*], i8[*], i8[*], i8[*,*], i8[*], i8[*,*], i8[*,*], i8[*,*,*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(4,3,3,4,4)<144,48,16,4,1>
      [[[[[0, 1, 2, 3]
          [4, 5, 6, 7]
          [8, 9, 10, 11]
          [12, 13, 14, 15]]

         [[16, 17, 18, 19]
          [20, 21, 22, 23]
          [24, 25, 26, 27]
          [28, 29, 30, 31]]

         [[32, 33, 34, 35]
          [36, 37, 38, 39]
          [40, 41, 42, 43]
          [44, 45, 46, 47]]]


        [[[48, 49, 50, 51]
          [52, 53, 54, 55]
          [56, 57, 58, 59]
          [60, 61, 62, 63]]

         [[64, 65, 66, 67]
          [68, 69, 70, 71]
          [72, 73, 74, 75]
          [76, 77, 78, 79]]

         [[80, 81, 82, 83]
          [84, 85, 86, 87]
          [88, 89, 90, 91]
          [92, 93, 94, 95]]]


        [[[96, 97, 98, 99]
          [100, 101, 102, 103]
          [104, 105, 106, 107]
          [108, 109, 110, 111]]

         [[112, 113, 114, 115]
          [116, 117, 118, 119]
          [120, 121, 122, 123]
          [124, 125, 126, 127]]

         [[128, 129, 130, 131]
          [132, 133, 134, 135]
          [136, 137, 138, 139]
          [140, 141, 142, 143]]]]



       [[[[144, 145, 146, 147]
          [148, 149, 150, 151]
          [152, 153, 154, 155]
          [156, 157, 158, 159]]

         [[160, 161, 162, 163]
          [164, 165, 166, 167]
          [168, 169, 170, 171]
          [172, 173, 174, 175]]

         [[176, 177, 178, 179]
          [180, 181, 182, 183]
          [184, 185, 186, 187]
          [188, 189, 190, 191]]]


        [[[192, 193, 194, 195]
          [196, 197, 198, 199]
          [...]]]]]
  ,
    Ten<i8>(4,3,3,4,4)<144,48,16,4,1>
      [[[[[0, 1, 2, 3]
          [4, 5, 6, 7]
          [8, 9, 10, 11]
          [12, 13, 14, 15]]

         [[16, 17, 18, 19]
          [20, 21, 22, 23]
          [24, 25, 26, 27]
          [28, 29, 30, 31]]

         [[32, 33, 34, 35]
          [36, 37, 38, 39]
          [40, 41, 42, 43]
          [44, 45, 46, 47]]]


        [[[48, 49, 50, 51]
          [52, 53, 54, 55]
          [56, 57, 58, 59]
          [60, 61, 62, 63]]

         [[64, 65, 66, 67]
          [68, 69, 70, 71]
          [72, 73, 74, 75]
          [76, 77, 78, 79]]

         [[80, 81, 82, 83]
          [84, 85, 86, 87]
          [88, 89, 90, 91]
          [92, 93, 94, 95]]]


        [[[96, 97, 98, 99]
          [100, 101, 102, 103]
          [104, 105, 106, 107]
          [108, 109, 110, 111]]

         [[112, 113, 114, 115]
          [116, 117, 118, 119]
          [120, 121, 122, 123]
          [124, 125, 126, 127]]

         [[128, 129, 130, 131]
          [132, 133, 134, 135]
          [136, 137, 138, 139]
          [140, 141, 142, 143]]]]



       [[[[144, 145, 146, 147]
          [148, 149, 150, 151]
          [152, 153, 154, 155]
          [156, 157, 158, 159]]

         [[160, 161, 162, 163]
          [164, 165, 166, 167]
          [168, 169, 170, 171]
          [172, 173, 174, 175]]

         [[176, 177, 178, 179]
          [180, 181, 182, 183]
          [184, 185, 186, 187]
          [188, 189, 190, 191]]]


        [[[192, 193, 194, 195]
          [196, 197, 198, 199]
          [...]]]]]
  ,
    Ten<i8>(2)<1> [522, 523],
    Ten<i8>(1)<0> [521],
    Ten<i8>(1,2)<0,2>
      [[537, 539]]
  ,
    Ten<i8>(2)<16> [503, 519],
    Ten<i8>(2,2)<16,2>
      [[504, 506]
       [520, 522]]
  ,
    Ten<i8>(1,2)<0,8>
      [[498, 506]]
  ,
    Ten<i8>(1,2,2)<0,8,-1>
      [[[547, 546]
        [555, 554]]]
)
###
> (T[^3, ::2, ^2, ^2, ^1], T[^3, 1:3:2, 2, 2, 2:4], T[^3:2, 2, 2:4:2, 1], T[^3, 1:2, 0, 2:4:2, 1:4:2], T[^3, 1:3, 1:3, 1, 3], T[^3, ^2:^3, 1:3, 2, 0:4:2], T[^3, ^2:^3, 1:3:2, 0:3:2, 2], T[^3, ^1:^3, 1:3:2, 0:3:2, 0:2:4])
(T[^3, ::2, ^2, ^2, ^1], T[^3, 1:3:2, 2, 2, 2:4], T[^3:2, 2, 2:4:2, 1], T[^3, 1:2, 0, 2:4:2, 1:4:2], T[^3, 1:3, 1:3, 1, 3], T[^3, ^2:^3, 1:3, 2, 0:4:2], T[^3, ^2:^3, 1:3:2, 0:3:2, 2], T[^3, ^1:^3, 1:3:2, 0:3:2, 0:2:4]) : (i8[*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*])
BndKind:Tuple, Type:(i8[*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*]), Bnd:((GetSlice(Global(T), Index(3:i8, Back), Slice(null:i8?:null:i8?:2:i8), Index(2:i8, Back), Index(2:i8, Back), Index(1:i8, Back)):i8[*], GetSlice(Global(T), Index(3:i8, Back), Slice(1:i8:3:i8:2:i8), Index(2:i8, None), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?)):i8[*,*], GetSlice(Global(T), Slice(^(3:i8):2:i8:null:i8?), Index(2:i8, None), Slice(2:i8:4:i8:2:i8), Index(1:i8, None), Slice(null:i8?:null:i8?:null:i8?)):i8[*,*,*], GetSlice(Global(T), Index(3:i8, Back), Slice(1:i8:2:i8:null:i8?), Index(0:i8, None), Slice(2:i8:4:i8:2:i8), Slice(1:i8:4:i8:2:i8)):i8[*,*,*], GetSlice(Global(T), Index(3:i8, Back), Slice(1:i8:3:i8:null:i8?), Slice(1:i8:3:i8:null:i8?), Index(1:i8, None), Index(3:i8, None)):i8[*,*], GetSlice(Global(T), Index(3:i8, Back), Slice(^(2:i8):^(3:i8):null:i8?), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(0:i8:4:i8:2:i8)):i8[*,*,*], GetSlice(Global(T), Index(3:i8, Back), Slice(^(2:i8):^(3:i8):null:i8?), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Index(2:i8, None)):i8[*,*,*], GetSlice(Global(T), Index(3:i8, Back), Slice(^(1:i8):^(3:i8):null:i8?), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Slice(0:i8:2:i8:4:i8)):i8[*,*,*,*]):(i8[*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*]))
Func sig: (T:i8[*,*,*,*,*]) to (i8[*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(2)<96> [171, 267],
    Ten<i8>(1,2)<0,1>
      [[234, 235]]
  ,
    Ten<i8>(1,1,4)<0,0,1>
      [[[276, 277, 278, 279]]]
  ,
    Ten<i8>(1,1,2)<0,0,2>
      [[[201, 203]]]
  ,
    Ten<i8>(2,2)<48,16>
      [[215, 231]
       [263, 279]]
  ,
    Ten<i8>(1,2,2)<0,16,2>
      [[[216, 218]
        [232, 234]]]
  ,
    Ten<i8>(1,1,2)<0,0,8>
      [[[210, 218]]]
  ,
    Ten<i8>(2,1,2,1)<-48,0,8,0>
      [[[[256]
         [264]]]


       [[[208]
         [216]]]]
)
###
> (T[1:4, 1, 2, 2, 2:4], T[1:4, 1, 2, 2:4:2, 1], T[1:4, 2, 0, 2:4:2, 1:4:2], T[1:4, 1, 1:3, 1, 3], T[1:4, ^2, 1:3, 2, 0:4:2], T[1:4, ^2, 1:3:2, 0:3:2, 2], T[1:4, ^1, 1:3:2, 0:3:2, 0:2:4])
(T[1:4, 1, 2, 2, 2:4], T[1:4, 1, 2, 2:4:2, 1], T[1:4, 2, 0, 2:4:2, 1:4:2], T[1:4, 1, 1:3, 1, 3], T[1:4, ^2, 1:3, 2, 0:4:2], T[1:4, ^2, 1:3:2, 0:3:2, 2], T[1:4, ^1, 1:3:2, 0:3:2, 0:2:4]) : (i8[*,*], i8[*,*], i8[*,*,*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*])
BndKind:Tuple, Type:(i8[*,*], i8[*,*], i8[*,*,*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*]), Bnd:((GetSlice(Global(T), Slice(1:i8:4:i8:null:i8?), Index(1:i8, None), Index(2:i8, None), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?)):i8[*,*], GetSlice(Global(T), Slice(1:i8:4:i8:null:i8?), Index(1:i8, None), Index(2:i8, None), Slice(2:i8:4:i8:2:i8), Index(1:i8, None)):i8[*,*], GetSlice(Global(T), Slice(1:i8:4:i8:null:i8?), Index(2:i8, None), Index(0:i8, None), Slice(2:i8:4:i8:2:i8), Slice(1:i8:4:i8:2:i8)):i8[*,*,*], GetSlice(Global(T), Slice(1:i8:4:i8:null:i8?), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Index(1:i8, None), Index(3:i8, None)):i8[*,*], GetSlice(Global(T), Slice(1:i8:4:i8:null:i8?), Index(2:i8, Back), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(0:i8:4:i8:2:i8)):i8[*,*,*], GetSlice(Global(T), Slice(1:i8:4:i8:null:i8?), Index(2:i8, Back), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Index(2:i8, None)):i8[*,*,*], GetSlice(Global(T), Slice(1:i8:4:i8:null:i8?), Index(1:i8, Back), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Slice(0:i8:2:i8:4:i8)):i8[*,*,*,*]):(i8[*,*], i8[*,*], i8[*,*,*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*]))
Func sig: (T:i8[*,*,*,*,*]) to (i8[*,*], i8[*,*], i8[*,*,*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(3,2)<144,1>
      [[234, 235]
       [378, 379]
       [522, 523]]
  ,
    Ten<i8>(3,1)<144,0>
      [[233]
       [377]
       [521]]
  ,
    Ten<i8>(3,1,2)<144,0,2>
      [[[249, 251]]

       [[393, 395]]

       [[537, 539]]]
  ,
    Ten<i8>(3,2)<144,16>
      [[215, 231]
       [359, 375]
       [503, 519]]
  ,
    Ten<i8>(3,2,2)<144,16,2>
      [[[216, 218]
        [232, 234]]

       [[360, 362]
        [376, 378]]

       [[504, 506]
        [520, 522]]]
  ,
    Ten<i8>(3,1,2)<144,0,8>
      [[[210, 218]]

       [[354, 362]]

       [[498, 506]]]
  ,
    Ten<i8>(3,1,2,1)<144,0,8,0>
      [[[[256]
         [264]]]


       [[[400]
         [408]]]


       [[[544]
         [552]]]]
)
###
> (T[0:4:2, ::2, ^2, ^2, ^1], T[0:4:2, 1:3:2, 2, 2, 2:4], T[0:4:2, ^3:2, 2, 2:4:2, 1], T[0:4:2, 1:2, 0, 2:4:2, 1:4:2], T[0:4:2, 1:3, 1:3, 1, 3], T[0:4:2, ^2:^3, 1:3, 2, 0:4:2], T[0:4:2, ^2:^3, 1:3:2, 0:3:2, 2], T[0:4:2, ^1:^3, 1:3:2, 0:3:2, 0:2:4])
(T[0:4:2, ::2, ^2, ^2, ^1], T[0:4:2, 1:3:2, 2, 2, 2:4], T[0:4:2, ^3:2, 2, 2:4:2, 1], T[0:4:2, 1:2, 0, 2:4:2, 1:4:2], T[0:4:2, 1:3, 1:3, 1, 3], T[0:4:2, ^2:^3, 1:3, 2, 0:4:2], T[0:4:2, ^2:^3, 1:3:2, 0:3:2, 2], T[0:4:2, ^1:^3, 1:3:2, 0:3:2, 0:2:4]) : (i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*,*], i8[*,*,*,*,*])
BndKind:Tuple, Type:(i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*,*], i8[*,*,*,*,*]), Bnd:((GetSlice(Global(T), Slice(0:i8:4:i8:2:i8), Slice(null:i8?:null:i8?:2:i8), Index(2:i8, Back), Index(2:i8, Back), Index(1:i8, Back)):i8[*,*], GetSlice(Global(T), Slice(0:i8:4:i8:2:i8), Slice(1:i8:3:i8:2:i8), Index(2:i8, None), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?)):i8[*,*,*], GetSlice(Global(T), Slice(0:i8:4:i8:2:i8), Slice(^(3:i8):2:i8:null:i8?), Index(2:i8, None), Slice(2:i8:4:i8:2:i8), Index(1:i8, None)):i8[*,*,*], GetSlice(Global(T), Slice(0:i8:4:i8:2:i8), Slice(1:i8:2:i8:null:i8?), Index(0:i8, None), Slice(2:i8:4:i8:2:i8), Slice(1:i8:4:i8:2:i8)):i8[*,*,*,*], GetSlice(Global(T), Slice(0:i8:4:i8:2:i8), Slice(1:i8:3:i8:null:i8?), Slice(1:i8:3:i8:null:i8?), Index(1:i8, None), Index(3:i8, None)):i8[*,*,*], GetSlice(Global(T), Slice(0:i8:4:i8:2:i8), Slice(^(2:i8):^(3:i8):null:i8?), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(0:i8:4:i8:2:i8)):i8[*,*,*,*], GetSlice(Global(T), Slice(0:i8:4:i8:2:i8), Slice(^(2:i8):^(3:i8):null:i8?), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Index(2:i8, None)):i8[*,*,*,*], GetSlice(Global(T), Slice(0:i8:4:i8:2:i8), Slice(^(1:i8):^(3:i8):null:i8?), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Slice(0:i8:2:i8:4:i8)):i8[*,*,*,*,*]):(i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*,*], i8[*,*,*,*,*]))
Func sig: (T:i8[*,*,*,*,*]) to (i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*,*], i8[*,*,*,*,*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(2,2)<288,96>
      [[27, 123]
       [315, 411]]
  ,
    Ten<i8>(2,1,2)<288,0,1>
      [[[90, 91]]

       [[378, 379]]]
  ,
    Ten<i8>(2,2,1)<288,48,0>
      [[[41]
        [89]]

       [[329]
        [377]]]
  ,
    Ten<i8>(2,1,1,2)<288,0,0,2>
      [[[[57, 59]]]


       [[[345, 347]]]]
  ,
    Ten<i8>(2,2,2)<288,48,16>
      [[[71, 87]
        [119, 135]]

       [[359, 375]
        [407, 423]]]
  ,
    Ten<i8>(2,1,2,2)<288,0,16,2>
      [[[[72, 74]
         [88, 90]]]


       [[[360, 362]
         [376, 378]]]]
  ,
    Ten<i8>(2,1,1,2)<288,0,0,8>
      [[[[66, 74]]]


       [[[354, 362]]]]
  ,
    Ten<i8>(2,2,1,2,1)<288,-48,0,8,0>
      [[[[[112]
          [120]]]


        [[[64]
          [72]]]]



       [[[[400]
          [408]]]


        [[[352]
          [360]]]]]
)
###
> (T[^1:^3, 2:4, 1, 1:3, 2], T[2:4, ^1:^3, 1, 1:3, 2], T[2:4, 1, ^1:^3, 1:3, 2], T[2:4, 1, 1:3, ^1:^3, 2], T[2:4, 1, 1:3, 2, ^1:^3], T[1, 1:3, 2, 2:4, ^100:^1], T[1, 1:3, 2, ^100:^1, 2:4], T[1,1:3, ^100:^1, 2, 2:4], T[1, ^100:^1, 1:3, 2, 2:4], T[^100:^1, 1, 1:3, 2, 2:4], T[100:^100, 1, 1:3, 2, 2:4], T[1, 100:^100, 1:3, 2, 2:4], T[1, 1:3, 100:^100, 2, 2:4], T[1, 1:3, 2, 100:^100, 2:4], T[1, 1:3, 2, 2:4, 100:^100])
(T[^1:^3, 2:4, 1, 1:3, 2], T[2:4, ^1:^3, 1, 1:3, 2], T[2:4, 1, ^1:^3, 1:3, 2], T[2:4, 1, 1:3, ^1:^3, 2], T[2:4, 1, 1:3, 2, ^1:^3], T[1, 1:3, 2, 2:4, ^100:^1], T[1, 1:3, 2, ^100:^1, 2:4], T[1, 1:3, ^100:^1, 2, 2:4], T[1, ^100:^1, 1:3, 2, 2:4], T[^100:^1, 1, 1:3, 2, 2:4], T[100:^100, 1, 1:3, 2, 2:4], T[1, 100:^100, 1:3, 2, 2:4], T[1, 1:3, 100:^100, 2, 2:4], T[1, 1:3, 2, 100:^100, 2:4], T[1, 1:3, 2, 2:4, 100:^100]) : (i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*])
BndKind:Tuple, Type:(i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*]), Bnd:((GetSlice(Global(T), Slice(^(1:i8):^(3:i8):null:i8?), Slice(2:i8:4:i8:null:i8?), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None)):i8[*,*,*], GetSlice(Global(T), Slice(2:i8:4:i8:null:i8?), Slice(^(1:i8):^(3:i8):null:i8?), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None)):i8[*,*,*], GetSlice(Global(T), Slice(2:i8:4:i8:null:i8?), Index(1:i8, None), Slice(^(1:i8):^(3:i8):null:i8?), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None)):i8[*,*,*], GetSlice(Global(T), Slice(2:i8:4:i8:null:i8?), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Slice(^(1:i8):^(3:i8):null:i8?), Index(2:i8, None)):i8[*,*,*], GetSlice(Global(T), Slice(2:i8:4:i8:null:i8?), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(^(1:i8):^(3:i8):null:i8?)):i8[*,*,*], GetSlice(Global(T), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?), Slice(^(100:i8):^(1:i8):null:i8?)):i8[*,*,*], GetSlice(Global(T), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(^(100:i8):^(1:i8):null:i8?), Slice(2:i8:4:i8:null:i8?)):i8[*,*,*], GetSlice(Global(T), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Slice(^(100:i8):^(1:i8):null:i8?), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?)):i8[*,*,*], GetSlice(Global(T), Index(1:i8, None), Slice(^(100:i8):^(1:i8):null:i8?), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?)):i8[*,*,*], GetSlice(Global(T), Slice(^(100:i8):^(1:i8):null:i8?), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?)):i8[*,*,*], GetSlice(Global(T), Slice(100:i8:^(100:i8):null:i8?), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?)):i8[*,*,*], GetSlice(Global(T), Index(1:i8, None), Slice(100:i8:^(100:i8):null:i8?), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?)):i8[*,*,*], GetSlice(Global(T), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Slice(100:i8:^(100:i8):null:i8?), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?)):i8[*,*,*], GetSlice(Global(T), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(100:i8:^(100:i8):null:i8?), Slice(2:i8:4:i8:null:i8?)):i8[*,*,*], GetSlice(Global(T), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?), Slice(100:i8:^(100:i8):null:i8?)):i8[*,*,*]):(i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*]))
Func sig: (T:i8[*,*,*,*,*]) to (i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(2,1,2)<-144,0,4>
      [[[550, 554]]

       [[406, 410]]]
  ,
    Ten<i8>(2,2,2)<144,-48,4>
      [[[406, 410]
        [358, 362]]

       [[550, 554]
        [502, 506]]]
  ,
    Ten<i8>(2,2,2)<144,-16,4>
      [[[374, 378]
        [358, 362]]

       [[518, 522]
        [502, 506]]]
  ,
    Ten<i8>(2,2,2)<144,16,-4>
      [[[366, 362]
        [382, 378]]

       [[510, 506]
        [526, 522]]]
  ,
    Ten<i8>(2,2,2)<144,16,-1>
      [[[363, 362]
        [379, 378]]

       [[507, 506]
        [523, 522]]]
  ,
    Ten<i8>(2,2,3)<48,4,1>
      [[[232, 233, 234]
        [236, 237, 238]]

       [[280, 281, 282]
        [284, 285, 286]]]
  ,
    Ten<i8>(2,3,2)<48,4,1>
      [[[226, 227]
        [230, 231]
        [234, 235]]

       [[274, 275]
        [278, 279]
        [282, 283]]]
  ,
    Ten<i8>(2,2,2)<48,16,1>
      [[[202, 203]
        [218, 219]]

       [[250, 251]
        [266, 267]]]
  ,
    Ten<i8>(2,2,2)<48,16,1>
      [[[170, 171]
        [186, 187]]

       [[218, 219]
        [234, 235]]]
  ,
    Ten<i8>(3,2,2)<144,16,1>
      [[[74, 75]
        [90, 91]]

       [[218, 219]
        [234, 235]]

       [[362, 363]
        [378, 379]]]
  ,
    Ten<i8>(4,2,2)<-144,16,1>
      [[[506, 507]
        [522, 523]]

       [[362, 363]
        [378, 379]]

       [[218, 219]
        [234, 235]]

       [[74, 75]
        [90, 91]]]
  ,
    Ten<i8>(3,2,2)<-48,16,1>
      [[[266, 267]
        [282, 283]]

       [[218, 219]
        [234, 235]]

       [[170, 171]
        [186, 187]]]
  ,
    Ten<i8>(2,3,2)<48,-16,1>
      [[[234, 235]
        [218, 219]
        [202, 203]]

       [[282, 283]
        [266, 267]
        [250, 251]]]
  ,
    Ten<i8>(2,4,2)<48,-4,1>
      [[[238, 239]
        [234, 235]
        [230, 231]
        [226, 227]]

       [[286, 287]
        [282, 283]
        [278, 279]
        [274, 275]]]
  ,
    Ten<i8>(2,2,4)<48,4,-1>
      [[[235, 234, 233, 232]
        [239, 238, 237, 236]]

       [[283, 282, 281, 280]
        [287, 286, 285, 284]]]
)
###
> (T[1:2, 1, 2:3, 0, ^5], T[1:2, 1, 2:3, ^5, 0], T[1:2, 1, ^5, 2:3, 0], T[1:2, ^5, 1, 2:3, 0], T[^5, 1:2, 1, 2:3, 0], T[1:2, 1, 2:3, 0, 5], T[1:2, 1, 2:3, 5, 0], T[1:2, 1, 5, 2:3, 0], T[1:2, 5, 1, 2:3, 0], T[5, 1:2, 1, 2:3, 0])
(T[1:2, 1, 2:3, 0, ^5], T[1:2, 1, 2:3, ^5, 0], T[1:2, 1, ^5, 2:3, 0], T[1:2, ^5, 1, 2:3, 0], T[^5, 1:2, 1, 2:3, 0], T[1:2, 1, 2:3, 0, 5], T[1:2, 1, 2:3, 5, 0], T[1:2, 1, 5, 2:3, 0], T[1:2, 5, 1, 2:3, 0], T[5, 1:2, 1, 2:3, 0]) : (i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*])
BndKind:Tuple, Type:(i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*]), Bnd:((GetSlice(Global(T), Slice(1:i8:2:i8:null:i8?), Index(1:i8, None), Slice(2:i8:3:i8:null:i8?), Index(0:i8, None), Index(5:i8, Back)):i8[*,*], GetSlice(Global(T), Slice(1:i8:2:i8:null:i8?), Index(1:i8, None), Slice(2:i8:3:i8:null:i8?), Index(5:i8, Back), Index(0:i8, None)):i8[*,*], GetSlice(Global(T), Slice(1:i8:2:i8:null:i8?), Index(1:i8, None), Index(5:i8, Back), Slice(2:i8:3:i8:null:i8?), Index(0:i8, None)):i8[*,*], GetSlice(Global(T), Slice(1:i8:2:i8:null:i8?), Index(5:i8, Back), Index(1:i8, None), Slice(2:i8:3:i8:null:i8?), Index(0:i8, None)):i8[*,*], GetSlice(Global(T), Index(5:i8, Back), Slice(1:i8:2:i8:null:i8?), Index(1:i8, None), Slice(2:i8:3:i8:null:i8?), Index(0:i8, None)):i8[*,*], GetSlice(Global(T), Slice(1:i8:2:i8:null:i8?), Index(1:i8, None), Slice(2:i8:3:i8:null:i8?), Index(0:i8, None), Index(5:i8, None)):i8[*,*], GetSlice(Global(T), Slice(1:i8:2:i8:null:i8?), Index(1:i8, None), Slice(2:i8:3:i8:null:i8?), Index(5:i8, None), Index(0:i8, None)):i8[*,*], GetSlice(Global(T), Slice(1:i8:2:i8:null:i8?), Index(1:i8, None), Index(5:i8, None), Slice(2:i8:3:i8:null:i8?), Index(0:i8, None)):i8[*,*], GetSlice(Global(T), Slice(1:i8:2:i8:null:i8?), Index(5:i8, None), Index(1:i8, None), Slice(2:i8:3:i8:null:i8?), Index(0:i8, None)):i8[*,*], GetSlice(Global(T), Index(5:i8, None), Slice(1:i8:2:i8:null:i8?), Index(1:i8, None), Slice(2:i8:3:i8:null:i8?), Index(0:i8, None)):i8[*,*]):(i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*]))
Func sig: (T:i8[*,*,*,*,*]) to (i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(1,1)<0,0>
      [[0]]
  ,
    Ten<i8>(1,1)<0,0>
      [[0]]
  ,
    Ten<i8>(1,1)<0,0>
      [[0]]
  ,
    Ten<i8>(1,1)<0,0>
      [[0]]
  ,
    Ten<i8>(1,1)<0,0>
      [[0]]
  ,
    Ten<i8>(1,1)<0,0>
      [[0]]
  ,
    Ten<i8>(1,1)<0,0>
      [[0]]
  ,
    Ten<i8>(1,1)<0,0>
      [[0]]
  ,
    Ten<i8>(1,1)<0,0>
      [[0]]
  ,
    Ten<i8>(1,1)<0,0>
      [[0]]
)
###
> (T[0, 1, 2, 3, 0:3:0], T[0, 1, 2, 3:0:0, 3], T[0, 1, 3:0:0, 2, 3], T[0, ^1:^3:0, 1, 2, 3], T[^3:^1:0, 0, 1, 2, 3])
(T[0, 1, 2, 3, 0:3:0], T[0, 1, 2, 3:0:0, 3], T[0, 1, 3:0:0, 2, 3], T[0, ^1:^3:0, 1, 2, 3], T[^3:^1:0, 0, 1, 2, 3]) : (i8[*], i8[*], i8[*], i8[*], i8[*])
BndKind:Tuple, Type:(i8[*], i8[*], i8[*], i8[*], i8[*]), Bnd:((GetSlice(Global(T), Index(0:i8, None), Index(1:i8, None), Index(2:i8, None), Index(3:i8, None), Slice(0:i8:3:i8:0:i8)):i8[*], GetSlice(Global(T), Index(0:i8, None), Index(1:i8, None), Index(2:i8, None), Slice(3:i8:0:i8:0:i8), Index(3:i8, None)):i8[*], GetSlice(Global(T), Index(0:i8, None), Index(1:i8, None), Slice(3:i8:0:i8:0:i8), Index(2:i8, None), Index(3:i8, None)):i8[*], GetSlice(Global(T), Index(0:i8, None), Slice(^(1:i8):^(3:i8):0:i8), Index(1:i8, None), Index(2:i8, None), Index(3:i8, None)):i8[*], GetSlice(Global(T), Slice(^(3:i8):^(1:i8):0:i8), Index(0:i8, None), Index(1:i8, None), Index(2:i8, None), Index(3:i8, None)):i8[*]):(i8[*], i8[*], i8[*], i8[*], i8[*]))
Func sig: (T:i8[*,*,*,*,*]) to (i8[*], i8[*], i8[*], i8[*], i8[*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(3)<1> [92, 93, 94],
    Ten<i8>(3)<-4> [95, 91, 87],
    Ten<i8>(2)<-16> [91, 75],
    Ten<i8>(2)<-48> [123, 75],
    Ten<i8>(2)<144> [171, 315])
###
> (T[2:1:, 1], T[2:1:0, 1])
(T[2:1:, 1], T[2:1:0, 1]) : (i8[*,*,*,*], i8[*,*,*,*])
BndKind:Tuple, Type:(i8[*,*,*,*], i8[*,*,*,*]), Bnd:((GetSlice(Global(T), Slice(2:i8:1:i8:null:i8?), Index(1:i8, None), Slice(null:i8?:null:i8?:null:i8?), Slice(null:i8?:null:i8?:null:i8?), Slice(null:i8?:null:i8?:null:i8?)):i8[*,*,*,*], GetSlice(Global(T), Slice(2:i8:1:i8:0:i8), Index(1:i8, None), Slice(null:i8?:null:i8?:null:i8?), Slice(null:i8?:null:i8?:null:i8?), Slice(null:i8?:null:i8?:null:i8?)):i8[*,*,*,*]):(i8[*,*,*,*], i8[*,*,*,*]))
Func sig: (T:i8[*,*,*,*,*]) to (i8[*,*,*,*], i8[*,*,*,*])
Type: (Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(1,3,4,4)<0,16,4,1>
      [[[[336, 337, 338, 339]
         [340, 341, 342, 343]
         [344, 345, 346, 347]
         [348, 349, 350, 351]]

        [[352, 353, 354, 355]
         [356, 357, 358, 359]
         [360, 361, 362, 363]
         [364, 365, 366, 367]]

        [[368, 369, 370, 371]
         [372, 373, 374, 375]
         [376, 377, 378, 379]
         [380, 381, 382, 383]]]]
  ,
    Ten<i8>(1,3,4,4)<0,16,4,1>
      [[[[336, 337, 338, 339]
         [340, 341, 342, 343]
         [344, 345, 346, 347]
         [348, 349, 350, 351]]

        [[352, 353, 354, 355]
         [356, 357, 358, 359]
         [360, 361, 362, 363]
         [364, 365, 366, 367]]

        [[368, 369, 370, 371]
         [372, 373, 374, 375]
         [376, 377, 378, 379]
         [380, 381, 382, 383]]]]
)
###

**** New definitions: T, type: i8[*,*,*,*,*,*]

> T
T : i8[*,*,*,*,*,*]
BndKind:Global, Type:i8[*,*,*,*,*,*], Bnd:(Global(T))
Func sig: (T:i8[*,*,*,*,*,*]) to i8[*,*,*,*,*,*]
Ten<i8>(4,4,3,3,4,4)<576,144,48,16,4,1>
  [[[[[[0, 1, 2, 3]
       [4, 5, 6, 7]
       [8, 9, 10, 11]
       [12, 13, 14, 15]]

      [[16, 17, 18, 19]
       [20, 21, 22, 23]
       [24, 25, 26, 27]
       [28, 29, 30, 31]]

      [[32, 33, 34, 35]
       [36, 37, 38, 39]
       [40, 41, 42, 43]
       [44, 45, 46, 47]]]


     [[[48, 49, 50, 51]
       [52, 53, 54, 55]
       [56, 57, 58, 59]
       [60, 61, 62, 63]]

      [[64, 65, 66, 67]
       [68, 69, 70, 71]
       [72, 73, 74, 75]
       [76, 77, 78, 79]]

      [[80, 81, 82, 83]
       [84, 85, 86, 87]
       [88, 89, 90, 91]
       [92, 93, 94, 95]]]


     [[[96, 97, 98, 99]
       [100, 101, 102, 103]
       [104, 105, 106, 107]
       [108, 109, 110, 111]]

      [[112, 113, 114, 115]
       [116, 117, 118, 119]
       [120, 121, 122, 123]
       [124, 125, 126, 127]]

      [[128, 129, 130, 131]
       [132, 133, 134, 135]
       [136, 137, 138, 139]
       [140, 141, 142, 143]]]]



    [[[[144, 145, 146, 147]
       [148, 149, 150, 151]
       [152, 153, 154, 155]
       [156, 157, 158, 159]]

      [[160, 161, 162, 163]
       [164, 165, 166, 167]
       [168, 169, 170, 171]
       [172, 173, 174, 175]]

      [[176, 177, 178, 179]
       [180, 181, 182, 183]
       [184, 185, 186, 187]
       [188, 189, 190, 191]]]


     [[[192, 193, 194, 195]
       [196, 197, 198, 199]
       [...]]]]]]
###
> (T[:], T[full], T[0, 3, 1, 2, 2, 2:4], T[0, 3, 1, 2, 2:4:2, 1], T[0, 3, 2, 0, 2:4:2, 1:4:2], T[0, 3, 1, 1:3, 1, 3], T[0, 3, ^2, 1:3, 2, 0:4:2], T[0, 3, ^2, 1:3:2, 0:3:2, 2], T[0, 3, ^1, 1:3:2, 0:3:2, 3:1:-1])
(T[:], T[full], T[0, 3, 1, 2, 2, 2:4], T[0, 3, 1, 2, 2:4:2, 1], T[0, 3, 2, 0, 2:4:2, 1:4:2], T[0, 3, 1, 1:3, 1, 3], T[0, 3, ^2, 1:3, 2, 0:4:2], T[0, 3, ^2, 1:3:2, 0:3:2, 2], T[0, 3, ^1, 1:3:2, 0:3:2, 3:1:-1]) : (i8[*,*,*,*,*,*], i8[*,*,*,*,*,*], i8[*], i8[*], i8[*,*], i8[*], i8[*,*], i8[*,*], i8[*,*,*])
BndKind:Tuple, Type:(i8[*,*,*,*,*,*], i8[*,*,*,*,*,*], i8[*], i8[*], i8[*,*], i8[*], i8[*,*], i8[*,*], i8[*,*,*]), Bnd:((Global(T), GetSlice(Global(T), Slice(Global(full)), Slice(null:i8?:null:i8?:null:i8?), Slice(null:i8?:null:i8?:null:i8?), Slice(null:i8?:null:i8?:null:i8?), Slice(null:i8?:null:i8?:null:i8?), Slice(null:i8?:null:i8?:null:i8?)):i8[*,*,*,*,*,*], GetSlice(Global(T), Index(0:i8, None), Index(3:i8, None), Index(1:i8, None), Index(2:i8, None), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?)):i8[*], GetSlice(Global(T), Index(0:i8, None), Index(3:i8, None), Index(1:i8, None), Index(2:i8, None), Slice(2:i8:4:i8:2:i8), Index(1:i8, None)):i8[*], GetSlice(Global(T), Index(0:i8, None), Index(3:i8, None), Index(2:i8, None), Index(0:i8, None), Slice(2:i8:4:i8:2:i8), Slice(1:i8:4:i8:2:i8)):i8[*,*], GetSlice(Global(T), Index(0:i8, None), Index(3:i8, None), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Index(1:i8, None), Index(3:i8, None)):i8[*], GetSlice(Global(T), Index(0:i8, None), Index(3:i8, None), Index(2:i8, Back), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(0:i8:4:i8:2:i8)):i8[*,*], GetSlice(Global(T), Index(0:i8, None), Index(3:i8, None), Index(2:i8, Back), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Index(2:i8, None)):i8[*,*], GetSlice(Global(T), Index(0:i8, None), Index(3:i8, None), Index(1:i8, Back), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Slice(3:i8:1:i8:-1:i8)):i8[*,*,*]):(i8[*,*,*,*,*,*], i8[*,*,*,*,*,*], i8[*], i8[*], i8[*,*], i8[*], i8[*,*], i8[*,*], i8[*,*,*]))
Func sig: (T:i8[*,*,*,*,*,*], full:(i8?, i8?, i8?)) to (i8[*,*,*,*,*,*], i8[*,*,*,*,*,*], i8[*], i8[*], i8[*,*], i8[*], i8[*,*], i8[*,*], i8[*,*,*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(4,4,3,3,4,4)<576,144,48,16,4,1>
      [[[[[[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]
           [12, 13, 14, 15]]

          [[16, 17, 18, 19]
           [20, 21, 22, 23]
           [24, 25, 26, 27]
           [28, 29, 30, 31]]

          [[32, 33, 34, 35]
           [36, 37, 38, 39]
           [40, 41, 42, 43]
           [44, 45, 46, 47]]]


         [[[48, 49, 50, 51]
           [52, 53, 54, 55]
           [56, 57, 58, 59]
           [60, 61, 62, 63]]

          [[64, 65, 66, 67]
           [68, 69, 70, 71]
           [72, 73, 74, 75]
           [76, 77, 78, 79]]

          [[80, 81, 82, 83]
           [84, 85, 86, 87]
           [88, 89, 90, 91]
           [92, 93, 94, 95]]]


         [[[96, 97, 98, 99]
           [100, 101, 102, 103]
           [104, 105, 106, 107]
           [108, 109, 110, 111]]

          [[112, 113, 114, 115]
           [116, 117, 118, 119]
           [120, 121, 122, 123]
           [124, 125, 126, 127]]

          [[128, 129, 130, 131]
           [132, 133, 134, 135]
           [136, 137, 138, 139]
           [140, 141, 142, 143]]]]



        [[[[144, 145, 146, 147]
           [148, 149, 150, 151]
           [152, 153, 154, 155]
           [156, 157, 158, 159]]

          [[160, 161, 162, 163]
           [164, 165, 166, 167]
           [168, 169, 170, 171]
           [172, 173, 174, 175]]

          [[176, 177, 178, 179]
           [180, 181, 182, 183]
           [184, 185, 186, 187]
           [188, 189, 190, 191]]]


         [[[192, 193, 194, 195]
           [196, 197, 198, 199]
           [...]]]]]]
  ,
    Ten<i8>(4,4,3,3,4,4)<576,144,48,16,4,1>
      [[[[[[0, 1, 2, 3]
           [4, 5, 6, 7]
           [8, 9, 10, 11]
           [12, 13, 14, 15]]

          [[16, 17, 18, 19]
           [20, 21, 22, 23]
           [24, 25, 26, 27]
           [28, 29, 30, 31]]

          [[32, 33, 34, 35]
           [36, 37, 38, 39]
           [40, 41, 42, 43]
           [44, 45, 46, 47]]]


         [[[48, 49, 50, 51]
           [52, 53, 54, 55]
           [56, 57, 58, 59]
           [60, 61, 62, 63]]

          [[64, 65, 66, 67]
           [68, 69, 70, 71]
           [72, 73, 74, 75]
           [76, 77, 78, 79]]

          [[80, 81, 82, 83]
           [84, 85, 86, 87]
           [88, 89, 90, 91]
           [92, 93, 94, 95]]]


         [[[96, 97, 98, 99]
           [100, 101, 102, 103]
           [104, 105, 106, 107]
           [108, 109, 110, 111]]

          [[112, 113, 114, 115]
           [116, 117, 118, 119]
           [120, 121, 122, 123]
           [124, 125, 126, 127]]

          [[128, 129, 130, 131]
           [132, 133, 134, 135]
           [136, 137, 138, 139]
           [140, 141, 142, 143]]]]



        [[[[144, 145, 146, 147]
           [148, 149, 150, 151]
           [152, 153, 154, 155]
           [156, 157, 158, 159]]

          [[160, 161, 162, 163]
           [164, 165, 166, 167]
           [168, 169, 170, 171]
           [172, 173, 174, 175]]

          [[176, 177, 178, 179]
           [180, 181, 182, 183]
           [184, 185, 186, 187]
           [188, 189, 190, 191]]]


         [[[192, 193, 194, 195]
           [196, 197, 198, 199]
           [...]]]]]]
  ,
    Ten<i8>(2)<1> [522, 523],
    Ten<i8>(1)<0> [521],
    Ten<i8>(1,2)<0,2>
      [[537, 539]]
  ,
    Ten<i8>(2)<16> [503, 519],
    Ten<i8>(2,2)<16,2>
      [[504, 506]
       [520, 522]]
  ,
    Ten<i8>(1,2)<0,8>
      [[498, 506]]
  ,
    Ten<i8>(1,2,2)<0,8,-1>
      [[[547, 546]
        [555, 554]]]
)
###
> (T[^1, ^3, ::2, ^2, ^2, ^1], T[^1, ^3, 1:3:2, 2, 2, 2:4], T[^1, ^3:2, 2, 2:4:2, 1], T[^1, ^3, 1:2, 0, 2:4:2, 1:4:2], T[^1, ^3, 1:3, 1:3, 1, 3], T[^1, ^3, ^2:^3, 1:3, 2, 0:4:2], T[^1, ^3, ^2:^3, 1:3:2, 0:3:2, 2], T[^1, ^3, ^1:^3, 1:3:2, 0:3:2, 0:2:4])
(T[^1, ^3, ::2, ^2, ^2, ^1], T[^1, ^3, 1:3:2, 2, 2, 2:4], T[^1, ^3:2, 2, 2:4:2, 1], T[^1, ^3, 1:2, 0, 2:4:2, 1:4:2], T[^1, ^3, 1:3, 1:3, 1, 3], T[^1, ^3, ^2:^3, 1:3, 2, 0:4:2], T[^1, ^3, ^2:^3, 1:3:2, 0:3:2, 2], T[^1, ^3, ^1:^3, 1:3:2, 0:3:2, 0:2:4]) : (i8[*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*])
BndKind:Tuple, Type:(i8[*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*]), Bnd:((GetSlice(Global(T), Index(1:i8, Back), Index(3:i8, Back), Slice(null:i8?:null:i8?:2:i8), Index(2:i8, Back), Index(2:i8, Back), Index(1:i8, Back)):i8[*], GetSlice(Global(T), Index(1:i8, Back), Index(3:i8, Back), Slice(1:i8:3:i8:2:i8), Index(2:i8, None), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?)):i8[*,*], GetSlice(Global(T), Index(1:i8, Back), Slice(^(3:i8):2:i8:null:i8?), Index(2:i8, None), Slice(2:i8:4:i8:2:i8), Index(1:i8, None), Slice(null:i8?:null:i8?:null:i8?)):i8[*,*,*], GetSlice(Global(T), Index(1:i8, Back), Index(3:i8, Back), Slice(1:i8:2:i8:null:i8?), Index(0:i8, None), Slice(2:i8:4:i8:2:i8), Slice(1:i8:4:i8:2:i8)):i8[*,*,*], GetSlice(Global(T), Index(1:i8, Back), Index(3:i8, Back), Slice(1:i8:3:i8:null:i8?), Slice(1:i8:3:i8:null:i8?), Index(1:i8, None), Index(3:i8, None)):i8[*,*], GetSlice(Global(T), Index(1:i8, Back), Index(3:i8, Back), Slice(^(2:i8):^(3:i8):null:i8?), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(0:i8:4:i8:2:i8)):i8[*,*,*], GetSlice(Global(T), Index(1:i8, Back), Index(3:i8, Back), Slice(^(2:i8):^(3:i8):null:i8?), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Index(2:i8, None)):i8[*,*,*], GetSlice(Global(T), Index(1:i8, Back), Index(3:i8, Back), Slice(^(1:i8):^(3:i8):null:i8?), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Slice(0:i8:2:i8:4:i8)):i8[*,*,*,*]):(i8[*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*]))
Func sig: (T:i8[*,*,*,*,*,*]) to (i8[*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(2)<96> [1899, 1995],
    Ten<i8>(1,2)<0,1>
      [[1962, 1963]]
  ,
    Ten<i8>(1,1,4)<0,0,1>
      [[[2004, 2005, 2006, 2007]]]
  ,
    Ten<i8>(1,1,2)<0,0,2>
      [[[1929, 1931]]]
  ,
    Ten<i8>(2,2)<48,16>
      [[1943, 1959]
       [1991, 2007]]
  ,
    Ten<i8>(1,2,2)<0,16,2>
      [[[1944, 1946]
        [1960, 1962]]]
  ,
    Ten<i8>(1,1,2)<0,0,8>
      [[[1938, 1946]]]
  ,
    Ten<i8>(2,1,2,1)<-48,0,8,0>
      [[[[1984]
         [1992]]]


       [[[1936]
         [1944]]]]
)
###
> (T[2, 1:4, 1, 2, 2, 2:4], T[2, 1:4, 1, 2, 2:4:2, 1], T[2, 1:4, 2, 0, 2:4:2, 1:4:2], T[2, 1:4, 1, 1:3, 1, 3], T[2, 1:4, ^2, 1:3, 2, 0:4:2], T[2, 1:4, ^2, 1:3:2, 0:3:2, 2], T[2, 1:4, ^1, 1:3:2, 0:3:2, 0:2:4])
(T[2, 1:4, 1, 2, 2, 2:4], T[2, 1:4, 1, 2, 2:4:2, 1], T[2, 1:4, 2, 0, 2:4:2, 1:4:2], T[2, 1:4, 1, 1:3, 1, 3], T[2, 1:4, ^2, 1:3, 2, 0:4:2], T[2, 1:4, ^2, 1:3:2, 0:3:2, 2], T[2, 1:4, ^1, 1:3:2, 0:3:2, 0:2:4]) : (i8[*,*], i8[*,*], i8[*,*,*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*])
BndKind:Tuple, Type:(i8[*,*], i8[*,*], i8[*,*,*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*]), Bnd:((GetSlice(Global(T), Index(2:i8, None), Slice(1:i8:4:i8:null:i8?), Index(1:i8, None), Index(2:i8, None), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?)):i8[*,*], GetSlice(Global(T), Index(2:i8, None), Slice(1:i8:4:i8:null:i8?), Index(1:i8, None), Index(2:i8, None), Slice(2:i8:4:i8:2:i8), Index(1:i8, None)):i8[*,*], GetSlice(Global(T), Index(2:i8, None), Slice(1:i8:4:i8:null:i8?), Index(2:i8, None), Index(0:i8, None), Slice(2:i8:4:i8:2:i8), Slice(1:i8:4:i8:2:i8)):i8[*,*,*], GetSlice(Global(T), Index(2:i8, None), Slice(1:i8:4:i8:null:i8?), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Index(1:i8, None), Index(3:i8, None)):i8[*,*], GetSlice(Global(T), Index(2:i8, None), Slice(1:i8:4:i8:null:i8?), Index(2:i8, Back), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(0:i8:4:i8:2:i8)):i8[*,*,*], GetSlice(Global(T), Index(2:i8, None), Slice(1:i8:4:i8:null:i8?), Index(2:i8, Back), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Index(2:i8, None)):i8[*,*,*], GetSlice(Global(T), Index(2:i8, None), Slice(1:i8:4:i8:null:i8?), Index(1:i8, Back), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Slice(0:i8:2:i8:4:i8)):i8[*,*,*,*]):(i8[*,*], i8[*,*], i8[*,*,*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*]))
Func sig: (T:i8[*,*,*,*,*,*]) to (i8[*,*], i8[*,*], i8[*,*,*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(3,2)<144,1>
      [[1386, 1387]
       [1530, 1531]
       [1674, 1675]]
  ,
    Ten<i8>(3,1)<144,0>
      [[1385]
       [1529]
       [1673]]
  ,
    Ten<i8>(3,1,2)<144,0,2>
      [[[1401, 1403]]

       [[1545, 1547]]

       [[1689, 1691]]]
  ,
    Ten<i8>(3,2)<144,16>
      [[1367, 1383]
       [1511, 1527]
       [1655, 1671]]
  ,
    Ten<i8>(3,2,2)<144,16,2>
      [[[1368, 1370]
        [1384, 1386]]

       [[1512, 1514]
        [1528, 1530]]

       [[1656, 1658]
        [1672, 1674]]]
  ,
    Ten<i8>(3,1,2)<144,0,8>
      [[[1362, 1370]]

       [[1506, 1514]]

       [[1650, 1658]]]
  ,
    Ten<i8>(3,1,2,1)<144,0,8,0>
      [[[[1408]
         [1416]]]


       [[[1552]
         [1560]]]


       [[[1696]
         [1704]]]]
)
###
> (T[^2, 0:4:2, ::2, ^2, ^2, ^1], T[^2, 0:4:2, 1:3:2, 2, 2, 2:4], T[^2, 0:4:2, ^3:2, 2, 2:4:2, 1], T[^2, 0:4:2, 1:2, 0, 2:4:2, 1:4:2], T[^2, 0:4:2, 1:3, 1:3, 1, 3], T[^2, 0:4:2, ^2:^3, 1:3, 2, 0:4:2], T[^2, 0:4:2, ^2:^3, 1:3:2, 0:3:2, 2], T[^2, 0:4:2, ^1:^3, 1:3:2, 0:3:2, 0:2:4])
(T[^2, 0:4:2, ::2, ^2, ^2, ^1], T[^2, 0:4:2, 1:3:2, 2, 2, 2:4], T[^2, 0:4:2, ^3:2, 2, 2:4:2, 1], T[^2, 0:4:2, 1:2, 0, 2:4:2, 1:4:2], T[^2, 0:4:2, 1:3, 1:3, 1, 3], T[^2, 0:4:2, ^2:^3, 1:3, 2, 0:4:2], T[^2, 0:4:2, ^2:^3, 1:3:2, 0:3:2, 2], T[^2, 0:4:2, ^1:^3, 1:3:2, 0:3:2, 0:2:4]) : (i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*,*], i8[*,*,*,*,*])
BndKind:Tuple, Type:(i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*,*], i8[*,*,*,*,*]), Bnd:((GetSlice(Global(T), Index(2:i8, Back), Slice(0:i8:4:i8:2:i8), Slice(null:i8?:null:i8?:2:i8), Index(2:i8, Back), Index(2:i8, Back), Index(1:i8, Back)):i8[*,*], GetSlice(Global(T), Index(2:i8, Back), Slice(0:i8:4:i8:2:i8), Slice(1:i8:3:i8:2:i8), Index(2:i8, None), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?)):i8[*,*,*], GetSlice(Global(T), Index(2:i8, Back), Slice(0:i8:4:i8:2:i8), Slice(^(3:i8):2:i8:null:i8?), Index(2:i8, None), Slice(2:i8:4:i8:2:i8), Index(1:i8, None)):i8[*,*,*], GetSlice(Global(T), Index(2:i8, Back), Slice(0:i8:4:i8:2:i8), Slice(1:i8:2:i8:null:i8?), Index(0:i8, None), Slice(2:i8:4:i8:2:i8), Slice(1:i8:4:i8:2:i8)):i8[*,*,*,*], GetSlice(Global(T), Index(2:i8, Back), Slice(0:i8:4:i8:2:i8), Slice(1:i8:3:i8:null:i8?), Slice(1:i8:3:i8:null:i8?), Index(1:i8, None), Index(3:i8, None)):i8[*,*,*], GetSlice(Global(T), Index(2:i8, Back), Slice(0:i8:4:i8:2:i8), Slice(^(2:i8):^(3:i8):null:i8?), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(0:i8:4:i8:2:i8)):i8[*,*,*,*], GetSlice(Global(T), Index(2:i8, Back), Slice(0:i8:4:i8:2:i8), Slice(^(2:i8):^(3:i8):null:i8?), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Index(2:i8, None)):i8[*,*,*,*], GetSlice(Global(T), Index(2:i8, Back), Slice(0:i8:4:i8:2:i8), Slice(^(1:i8):^(3:i8):null:i8?), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Slice(0:i8:2:i8:4:i8)):i8[*,*,*,*,*]):(i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*,*], i8[*,*,*,*,*]))
Func sig: (T:i8[*,*,*,*,*,*]) to (i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*,*], i8[*,*,*,*,*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(2,2)<288,96>
      [[1179, 1275]
       [1467, 1563]]
  ,
    Ten<i8>(2,1,2)<288,0,1>
      [[[1242, 1243]]

       [[1530, 1531]]]
  ,
    Ten<i8>(2,2,1)<288,48,0>
      [[[1193]
        [1241]]

       [[1481]
        [1529]]]
  ,
    Ten<i8>(2,1,1,2)<288,0,0,2>
      [[[[1209, 1211]]]


       [[[1497, 1499]]]]
  ,
    Ten<i8>(2,2,2)<288,48,16>
      [[[1223, 1239]
        [1271, 1287]]

       [[1511, 1527]
        [1559, 1575]]]
  ,
    Ten<i8>(2,1,2,2)<288,0,16,2>
      [[[[1224, 1226]
         [1240, 1242]]]


       [[[1512, 1514]
         [1528, 1530]]]]
  ,
    Ten<i8>(2,1,1,2)<288,0,0,8>
      [[[[1218, 1226]]]


       [[[1506, 1514]]]]
  ,
    Ten<i8>(2,2,1,2,1)<288,-48,0,8,0>
      [[[[[1264]
          [1272]]]


        [[[1216]
          [1224]]]]



       [[[[1552]
          [1560]]]


        [[[1504]
          [1512]]]]]
)
###
> (T[0:4:2, 3, 1, 2, 2, 2:4], T[0:4:2, 3, 1, 2, 2:4:2, 1], T[0:4:2, 3, 2, 0, 2:4:2, 1:4:2], T[0:4:2, 3, 1, 1:3, 1, 3], T[0:4:2, 3, ^2, 1:3, 2, 0:4:2], T[0:4:2, 3, ^2, 1:3:2, 0:3:2, 2], T[0:4:2, 3, ^1, 1:3:2, 0:3:2, 0:2:4])
(T[0:4:2, 3, 1, 2, 2, 2:4], T[0:4:2, 3, 1, 2, 2:4:2, 1], T[0:4:2, 3, 2, 0, 2:4:2, 1:4:2], T[0:4:2, 3, 1, 1:3, 1, 3], T[0:4:2, 3, ^2, 1:3, 2, 0:4:2], T[0:4:2, 3, ^2, 1:3:2, 0:3:2, 2], T[0:4:2, 3, ^1, 1:3:2, 0:3:2, 0:2:4]) : (i8[*,*], i8[*,*], i8[*,*,*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*])
BndKind:Tuple, Type:(i8[*,*], i8[*,*], i8[*,*,*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*]), Bnd:((GetSlice(Global(T), Slice(0:i8:4:i8:2:i8), Index(3:i8, None), Index(1:i8, None), Index(2:i8, None), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?)):i8[*,*], GetSlice(Global(T), Slice(0:i8:4:i8:2:i8), Index(3:i8, None), Index(1:i8, None), Index(2:i8, None), Slice(2:i8:4:i8:2:i8), Index(1:i8, None)):i8[*,*], GetSlice(Global(T), Slice(0:i8:4:i8:2:i8), Index(3:i8, None), Index(2:i8, None), Index(0:i8, None), Slice(2:i8:4:i8:2:i8), Slice(1:i8:4:i8:2:i8)):i8[*,*,*], GetSlice(Global(T), Slice(0:i8:4:i8:2:i8), Index(3:i8, None), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Index(1:i8, None), Index(3:i8, None)):i8[*,*], GetSlice(Global(T), Slice(0:i8:4:i8:2:i8), Index(3:i8, None), Index(2:i8, Back), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(0:i8:4:i8:2:i8)):i8[*,*,*], GetSlice(Global(T), Slice(0:i8:4:i8:2:i8), Index(3:i8, None), Index(2:i8, Back), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Index(2:i8, None)):i8[*,*,*], GetSlice(Global(T), Slice(0:i8:4:i8:2:i8), Index(3:i8, None), Index(1:i8, Back), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Slice(0:i8:2:i8:4:i8)):i8[*,*,*,*]):(i8[*,*], i8[*,*], i8[*,*,*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*]))
Func sig: (T:i8[*,*,*,*,*,*]) to (i8[*,*], i8[*,*], i8[*,*,*], i8[*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*,*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(2,2)<1152,1>
      [[522, 523]
       [1674, 1675]]
  ,
    Ten<i8>(2,1)<1152,0>
      [[521]
       [1673]]
  ,
    Ten<i8>(2,1,2)<1152,0,2>
      [[[537, 539]]

       [[1689, 1691]]]
  ,
    Ten<i8>(2,2)<1152,16>
      [[503, 519]
       [1655, 1671]]
  ,
    Ten<i8>(2,2,2)<1152,16,2>
      [[[504, 506]
        [520, 522]]

       [[1656, 1658]
        [1672, 1674]]]
  ,
    Ten<i8>(2,1,2)<1152,0,8>
      [[[498, 506]]

       [[1650, 1658]]]
  ,
    Ten<i8>(2,1,2,1)<1152,0,8,0>
      [[[[544]
         [552]]]


       [[[1696]
         [1704]]]]
)
###
> (T[1:4:2, ^1, ^3, ::2, ^2, ^1], T[1:4:2, ^3, 1:3:2, 2, 2, 2:4], T[1:4:2, ^3:2, 2, 2:4:2, 1], T[1:4:2, ^3, 1:2, 0, 2:4:2, 1:4:2], T[1:4:2, ^3, 1:3, 1:3, 1, 3], T[1:4:2, ^3, ^2:^3, 1:3, 2, 0:4:2], T[1:4:2, ^3, ^2:^3, 1:3:2, 0:3:2, 2], T[1:4:2, ^3, ^1:^3, 1:3:2, 0:3:2, 0:2:4])
(T[1:4:2, ^1, ^3, ::2, ^2, ^1], T[1:4:2, ^3, 1:3:2, 2, 2, 2:4], T[1:4:2, ^3:2, 2, 2:4:2, 1], T[1:4:2, ^3, 1:2, 0, 2:4:2, 1:4:2], T[1:4:2, ^3, 1:3, 1:3, 1, 3], T[1:4:2, ^3, ^2:^3, 1:3, 2, 0:4:2], T[1:4:2, ^3, ^2:^3, 1:3:2, 0:3:2, 2], T[1:4:2, ^3, ^1:^3, 1:3:2, 0:3:2, 0:2:4]) : (i8[*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*,*], i8[*,*,*,*,*])
BndKind:Tuple, Type:(i8[*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*,*], i8[*,*,*,*,*]), Bnd:((GetSlice(Global(T), Slice(1:i8:4:i8:2:i8), Index(1:i8, Back), Index(3:i8, Back), Slice(null:i8?:null:i8?:2:i8), Index(2:i8, Back), Index(1:i8, Back)):i8[*,*], GetSlice(Global(T), Slice(1:i8:4:i8:2:i8), Index(3:i8, Back), Slice(1:i8:3:i8:2:i8), Index(2:i8, None), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?)):i8[*,*,*], GetSlice(Global(T), Slice(1:i8:4:i8:2:i8), Slice(^(3:i8):2:i8:null:i8?), Index(2:i8, None), Slice(2:i8:4:i8:2:i8), Index(1:i8, None), Slice(null:i8?:null:i8?:null:i8?)):i8[*,*,*,*], GetSlice(Global(T), Slice(1:i8:4:i8:2:i8), Index(3:i8, Back), Slice(1:i8:2:i8:null:i8?), Index(0:i8, None), Slice(2:i8:4:i8:2:i8), Slice(1:i8:4:i8:2:i8)):i8[*,*,*,*], GetSlice(Global(T), Slice(1:i8:4:i8:2:i8), Index(3:i8, Back), Slice(1:i8:3:i8:null:i8?), Slice(1:i8:3:i8:null:i8?), Index(1:i8, None), Index(3:i8, None)):i8[*,*,*], GetSlice(Global(T), Slice(1:i8:4:i8:2:i8), Index(3:i8, Back), Slice(^(2:i8):^(3:i8):null:i8?), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(0:i8:4:i8:2:i8)):i8[*,*,*,*], GetSlice(Global(T), Slice(1:i8:4:i8:2:i8), Index(3:i8, Back), Slice(^(2:i8):^(3:i8):null:i8?), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Index(2:i8, None)):i8[*,*,*,*], GetSlice(Global(T), Slice(1:i8:4:i8:2:i8), Index(3:i8, Back), Slice(^(1:i8):^(3:i8):null:i8?), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Slice(0:i8:2:i8:4:i8)):i8[*,*,*,*,*]):(i8[*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*,*], i8[*,*,*,*,*]))
Func sig: (T:i8[*,*,*,*,*,*]) to (i8[*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*,*], i8[*,*,*,*,*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(2,2)<1152,32>
      [[1019, 1051]
       [2171, 2203]]
  ,
    Ten<i8>(2,1,2)<1152,0,1>
      [[[810, 811]]

       [[1962, 1963]]]
  ,
    Ten<i8>(2,1,1,4)<1152,0,0,1>
      [[[[852, 853, 854, 855]]]


       [[[2004, 2005, 2006, 2007]]]]
  ,
    Ten<i8>(2,1,1,2)<1152,0,0,2>
      [[[[777, 779]]]


       [[[1929, 1931]]]]
  ,
    Ten<i8>(2,2,2)<1152,48,16>
      [[[791, 807]
        [839, 855]]

       [[1943, 1959]
        [1991, 2007]]]
  ,
    Ten<i8>(2,1,2,2)<1152,0,16,2>
      [[[[792, 794]
         [808, 810]]]


       [[[1944, 1946]
         [1960, 1962]]]]
  ,
    Ten<i8>(2,1,1,2)<1152,0,0,8>
      [[[[786, 794]]]


       [[[1938, 1946]]]]
  ,
    Ten<i8>(2,2,1,2,1)<1152,-48,0,8,0>
      [[[[[832]
          [840]]]


        [[[784]
          [792]]]]



       [[[[1984]
          [1992]]]


        [[[1936]
          [1944]]]]]
)
###
> (T[^1:^3, 1:4, 1, 2, 2, 2:4], T[^1:^3, 1:4, 1, 2, 2:4:2, 1], T[^1:^3, 1:4, 2, 0, 2:4:2, 1:4:2], T[^1:^3, 1:4, 1, 1:3, 1, 3], T[^1:^3, 1:4, ^2, 1:3, 2, 0:4:2], T[^1:^3, 1:4, ^2, 1:3:2, 0:3:2, 2], T[^1:^3, 1:4, ^1, 1:3:2, 0:3:2, 0:2:4])
(T[^1:^3, 1:4, 1, 2, 2, 2:4], T[^1:^3, 1:4, 1, 2, 2:4:2, 1], T[^1:^3, 1:4, 2, 0, 2:4:2, 1:4:2], T[^1:^3, 1:4, 1, 1:3, 1, 3], T[^1:^3, 1:4, ^2, 1:3, 2, 0:4:2], T[^1:^3, 1:4, ^2, 1:3:2, 0:3:2, 2], T[^1:^3, 1:4, ^1, 1:3:2, 0:3:2, 0:2:4]) : (i8[*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*,*], i8[*,*,*,*,*])
BndKind:Tuple, Type:(i8[*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*,*], i8[*,*,*,*,*]), Bnd:((GetSlice(Global(T), Slice(^(1:i8):^(3:i8):null:i8?), Slice(1:i8:4:i8:null:i8?), Index(1:i8, None), Index(2:i8, None), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?)):i8[*,*,*], GetSlice(Global(T), Slice(^(1:i8):^(3:i8):null:i8?), Slice(1:i8:4:i8:null:i8?), Index(1:i8, None), Index(2:i8, None), Slice(2:i8:4:i8:2:i8), Index(1:i8, None)):i8[*,*,*], GetSlice(Global(T), Slice(^(1:i8):^(3:i8):null:i8?), Slice(1:i8:4:i8:null:i8?), Index(2:i8, None), Index(0:i8, None), Slice(2:i8:4:i8:2:i8), Slice(1:i8:4:i8:2:i8)):i8[*,*,*,*], GetSlice(Global(T), Slice(^(1:i8):^(3:i8):null:i8?), Slice(1:i8:4:i8:null:i8?), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Index(1:i8, None), Index(3:i8, None)):i8[*,*,*], GetSlice(Global(T), Slice(^(1:i8):^(3:i8):null:i8?), Slice(1:i8:4:i8:null:i8?), Index(2:i8, Back), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(0:i8:4:i8:2:i8)):i8[*,*,*,*], GetSlice(Global(T), Slice(^(1:i8):^(3:i8):null:i8?), Slice(1:i8:4:i8:null:i8?), Index(2:i8, Back), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Index(2:i8, None)):i8[*,*,*,*], GetSlice(Global(T), Slice(^(1:i8):^(3:i8):null:i8?), Slice(1:i8:4:i8:null:i8?), Index(1:i8, Back), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Slice(0:i8:2:i8:4:i8)):i8[*,*,*,*,*]):(i8[*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*,*], i8[*,*,*,*,*]))
Func sig: (T:i8[*,*,*,*,*,*]) to (i8[*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*], i8[*,*,*,*], i8[*,*,*,*], i8[*,*,*,*,*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(2,3,2)<-576,144,1>
      [[[1962, 1963]
        [2106, 2107]
        [2250, 2251]]

       [[1386, 1387]
        [1530, 1531]
        [1674, 1675]]]
  ,
    Ten<i8>(2,3,1)<-576,144,0>
      [[[1961]
        [2105]
        [2249]]

       [[1385]
        [1529]
        [1673]]]
  ,
    Ten<i8>(2,3,1,2)<-576,144,0,2>
      [[[[1977, 1979]]

        [[2121, 2123]]

        [[2265, 2267]]]


       [[[1401, 1403]]

        [[1545, 1547]]

        [[1689, 1691]]]]
  ,
    Ten<i8>(2,3,2)<-576,144,16>
      [[[1943, 1959]
        [2087, 2103]
        [2231, 2247]]

       [[1367, 1383]
        [1511, 1527]
        [1655, 1671]]]
  ,
    Ten<i8>(2,3,2,2)<-576,144,16,2>
      [[[[1944, 1946]
         [1960, 1962]]

        [[2088, 2090]
         [2104, 2106]]

        [[2232, 2234]
         [2248, 2250]]]


       [[[1368, 1370]
         [1384, 1386]]

        [[1512, 1514]
         [1528, 1530]]

        [[1656, 1658]
         [1672, 1674]]]]
  ,
    Ten<i8>(2,3,1,2)<-576,144,0,8>
      [[[[1938, 1946]]

        [[2082, 2090]]

        [[2226, 2234]]]


       [[[1362, 1370]]

        [[1506, 1514]]

        [[1650, 1658]]]]
  ,
    Ten<i8>(2,3,1,2,1)<-576,144,0,8,0>
      [[[[[1984]
          [1992]]]


        [[[2128]
          [2136]]]


        [[[2272]
          [2280]]]]



       [[[[1408]
          [1416]]]


        [[[1552]
          [1560]]]


        [[[1696]
          [1704]]]]]
)
###
> (T[^2:^4, 0:4:2, ::2, ^2, ^2, ^1], T[^2:^4, 0:4:2, 1:3:2, 2, 2, 2:4], T[^2:^4, 0:4:2, ^3:2, 2, 2:4:2, 1], T[^2:^4, 0:4:2, 1:2, 0, 2:4:2, 1:4:2], T[^2:^4, 0:4:2, 1:3, 1:3, 1, 3], T[^2:^4, 0:4:2, ^2:^3, 1:3, 2, 0:4:2], T[^2:^4, 0:4:2, ^2:^3, 1:3:2, 0:3:2, 2], T[^2:^4, 0:4:2, ^1:^3, 1:3:2, 0:3:2, 0:2:4])
(T[^2:^4, 0:4:2, ::2, ^2, ^2, ^1], T[^2:^4, 0:4:2, 1:3:2, 2, 2, 2:4], T[^2:^4, 0:4:2, ^3:2, 2, 2:4:2, 1], T[^2:^4, 0:4:2, 1:2, 0, 2:4:2, 1:4:2], T[^2:^4, 0:4:2, 1:3, 1:3, 1, 3], T[^2:^4, 0:4:2, ^2:^3, 1:3, 2, 0:4:2], T[^2:^4, 0:4:2, ^2:^3, 1:3:2, 0:3:2, 2], T[^2:^4, 0:4:2, ^1:^3, 1:3:2, 0:3:2, 0:2:4]) : (i8[*,*,*], i8[*,*,*,*], i8[*,*,*,*], i8[*,*,*,*,*], i8[*,*,*,*], i8[*,*,*,*,*], i8[*,*,*,*,*], i8[*,*,*,*,*,*])
BndKind:Tuple, Type:(i8[*,*,*], i8[*,*,*,*], i8[*,*,*,*], i8[*,*,*,*,*], i8[*,*,*,*], i8[*,*,*,*,*], i8[*,*,*,*,*], i8[*,*,*,*,*,*]), Bnd:((GetSlice(Global(T), Slice(^(2:i8):^(4:i8):null:i8?), Slice(0:i8:4:i8:2:i8), Slice(null:i8?:null:i8?:2:i8), Index(2:i8, Back), Index(2:i8, Back), Index(1:i8, Back)):i8[*,*,*], GetSlice(Global(T), Slice(^(2:i8):^(4:i8):null:i8?), Slice(0:i8:4:i8:2:i8), Slice(1:i8:3:i8:2:i8), Index(2:i8, None), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?)):i8[*,*,*,*], GetSlice(Global(T), Slice(^(2:i8):^(4:i8):null:i8?), Slice(0:i8:4:i8:2:i8), Slice(^(3:i8):2:i8:null:i8?), Index(2:i8, None), Slice(2:i8:4:i8:2:i8), Index(1:i8, None)):i8[*,*,*,*], GetSlice(Global(T), Slice(^(2:i8):^(4:i8):null:i8?), Slice(0:i8:4:i8:2:i8), Slice(1:i8:2:i8:null:i8?), Index(0:i8, None), Slice(2:i8:4:i8:2:i8), Slice(1:i8:4:i8:2:i8)):i8[*,*,*,*,*], GetSlice(Global(T), Slice(^(2:i8):^(4:i8):null:i8?), Slice(0:i8:4:i8:2:i8), Slice(1:i8:3:i8:null:i8?), Slice(1:i8:3:i8:null:i8?), Index(1:i8, None), Index(3:i8, None)):i8[*,*,*,*], GetSlice(Global(T), Slice(^(2:i8):^(4:i8):null:i8?), Slice(0:i8:4:i8:2:i8), Slice(^(2:i8):^(3:i8):null:i8?), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(0:i8:4:i8:2:i8)):i8[*,*,*,*,*], GetSlice(Global(T), Slice(^(2:i8):^(4:i8):null:i8?), Slice(0:i8:4:i8:2:i8), Slice(^(2:i8):^(3:i8):null:i8?), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Index(2:i8, None)):i8[*,*,*,*,*], GetSlice(Global(T), Slice(^(2:i8):^(4:i8):null:i8?), Slice(0:i8:4:i8:2:i8), Slice(^(1:i8):^(3:i8):null:i8?), Slice(1:i8:3:i8:2:i8), Slice(0:i8:3:i8:2:i8), Slice(0:i8:2:i8:4:i8)):i8[*,*,*,*,*,*]):(i8[*,*,*], i8[*,*,*,*], i8[*,*,*,*], i8[*,*,*,*,*], i8[*,*,*,*], i8[*,*,*,*,*], i8[*,*,*,*,*], i8[*,*,*,*,*,*]))
Func sig: (T:i8[*,*,*,*,*,*]) to (i8[*,*,*], i8[*,*,*,*], i8[*,*,*,*], i8[*,*,*,*,*], i8[*,*,*,*], i8[*,*,*,*,*], i8[*,*,*,*,*], i8[*,*,*,*,*,*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(2,2,2)<-576,288,96>
      [[[1179, 1275]
        [1467, 1563]]

       [[603, 699]
        [891, 987]]]
  ,
    Ten<i8>(2,2,1,2)<-576,288,0,1>
      [[[[1242, 1243]]

        [[1530, 1531]]]


       [[[666, 667]]

        [[954, 955]]]]
  ,
    Ten<i8>(2,2,2,1)<-576,288,48,0>
      [[[[1193]
         [1241]]

        [[1481]
         [1529]]]


       [[[617]
         [665]]

        [[905]
         [953]]]]
  ,
    Ten<i8>(2,2,1,1,2)<-576,288,0,0,2>
      [[[[[1209, 1211]]]


        [[[1497, 1499]]]]



       [[[[633, 635]]]


        [[[921, 923]]]]]
  ,
    Ten<i8>(2,2,2,2)<-576,288,48,16>
      [[[[1223, 1239]
         [1271, 1287]]

        [[1511, 1527]
         [1559, 1575]]]


       [[[647, 663]
         [695, 711]]

        [[935, 951]
         [983, 999]]]]
  ,
    Ten<i8>(2,2,1,2,2)<-576,288,0,16,2>
      [[[[[1224, 1226]
          [1240, 1242]]]


        [[[1512, 1514]
          [1528, 1530]]]]



       [[[[648, 650]
          [664, 666]]]


        [[[936, 938]
          [952, 954]]]]]
  ,
    Ten<i8>(2,2,1,1,2)<-576,288,0,0,8>
      [[[[[1218, 1226]]]


        [[[1506, 1514]]]]



       [[[[642, 650]]]


        [[[930, 938]]]]]
  ,
    Ten<i8>(2,2,2,1,2,1)<-576,288,-48,0,8,0>
      [[[[[[1264]
           [1272]]]


         [[[1216]
           [1224]]]]



        [[[[1552]
           [1560]]]


         [[[1504]
           [1512]]]]]




       [[[[[688]
           [696]]]


         [[[640]
           [648]]]]



        [[[[976]
           [984]]]


         [[[928]
           [936]]]]]]
)
###
> (T[^1:^3, 2:4, 1, 1:3, 2, 0], T[2:4, ^1:^3, 1, 1:3, 2, 0], T[2:4, 1, ^1:^3, 1:3, 2, 0], T[2:4, 1, 1:3, ^1:^3, 2, 0], T[2:4, 1, 1:3, 2, ^1:^3, 0], T[2:4, 1, 1:3, 2, 0, ^1:^3], T[1, 1:3, 2, 2:4, 0, ^100:^1], T[1, 1:3, 2, 2:4, ^100:^1, 0], T[1, 1:3, 2, ^100:^1, 2:4, 0], T[1, 1:3, ^100:^1, 2, 2:4, 0], T[1, ^100:^1, 1:3, 2, 2:4, 0], T[^100:^1, 1, 1:3, 2, 2:4, 0], T[100:^100, 1, 1:3, 2, 2:4, 0], T[1, 100:^100, 1:3, 2, 2:4, 0], T[1, 1:3, 100:^100, 2, 2:4, 0], T[1, 1:3, 2, 100:^100, 2:4, 0], T[1, 1:3, 2, 2:4, 100:^100, 0])
(T[^1:^3, 2:4, 1, 1:3, 2, 0], T[2:4, ^1:^3, 1, 1:3, 2, 0], T[2:4, 1, ^1:^3, 1:3, 2, 0], T[2:4, 1, 1:3, ^1:^3, 2, 0], T[2:4, 1, 1:3, 2, ^1:^3, 0], T[2:4, 1, 1:3, 2, 0, ^1:^3], T[1, 1:3, 2, 2:4, 0, ^100:^1], T[1, 1:3, 2, 2:4, ^100:^1, 0], T[1, 1:3, 2, ^100:^1, 2:4, 0], T[1, 1:3, ^100:^1, 2, 2:4, 0], T[1, ^100:^1, 1:3, 2, 2:4, 0], T[^100:^1, 1, 1:3, 2, 2:4, 0], T[100:^100, 1, 1:3, 2, 2:4, 0], T[1, 100:^100, 1:3, 2, 2:4, 0], T[1, 1:3, 100:^100, 2, 2:4, 0], T[1, 1:3, 2, 100:^100, 2:4, 0], T[1, 1:3, 2, 2:4, 100:^100, 0]) : (i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*])
BndKind:Tuple, Type:(i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*]), Bnd:((GetSlice(Global(T), Slice(^(1:i8):^(3:i8):null:i8?), Slice(2:i8:4:i8:null:i8?), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Index(0:i8, None)):i8[*,*,*], GetSlice(Global(T), Slice(2:i8:4:i8:null:i8?), Slice(^(1:i8):^(3:i8):null:i8?), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Index(0:i8, None)):i8[*,*,*], GetSlice(Global(T), Slice(2:i8:4:i8:null:i8?), Index(1:i8, None), Slice(^(1:i8):^(3:i8):null:i8?), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Index(0:i8, None)):i8[*,*,*], GetSlice(Global(T), Slice(2:i8:4:i8:null:i8?), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Slice(^(1:i8):^(3:i8):null:i8?), Index(2:i8, None), Index(0:i8, None)):i8[*,*,*], GetSlice(Global(T), Slice(2:i8:4:i8:null:i8?), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(^(1:i8):^(3:i8):null:i8?), Index(0:i8, None)):i8[*,*,*], GetSlice(Global(T), Slice(2:i8:4:i8:null:i8?), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Index(0:i8, None), Slice(^(1:i8):^(3:i8):null:i8?)):i8[*,*,*], GetSlice(Global(T), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?), Index(0:i8, None), Slice(^(100:i8):^(1:i8):null:i8?)):i8[*,*,*], GetSlice(Global(T), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?), Slice(^(100:i8):^(1:i8):null:i8?), Index(0:i8, None)):i8[*,*,*], GetSlice(Global(T), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(^(100:i8):^(1:i8):null:i8?), Slice(2:i8:4:i8:null:i8?), Index(0:i8, None)):i8[*,*,*], GetSlice(Global(T), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Slice(^(100:i8):^(1:i8):null:i8?), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?), Index(0:i8, None)):i8[*,*,*], GetSlice(Global(T), Index(1:i8, None), Slice(^(100:i8):^(1:i8):null:i8?), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?), Index(0:i8, None)):i8[*,*,*], GetSlice(Global(T), Slice(^(100:i8):^(1:i8):null:i8?), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?), Index(0:i8, None)):i8[*,*,*], GetSlice(Global(T), Slice(100:i8:^(100:i8):null:i8?), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?), Index(0:i8, None)):i8[*,*,*], GetSlice(Global(T), Index(1:i8, None), Slice(100:i8:^(100:i8):null:i8?), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?), Index(0:i8, None)):i8[*,*,*], GetSlice(Global(T), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Slice(100:i8:^(100:i8):null:i8?), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?), Index(0:i8, None)):i8[*,*,*], GetSlice(Global(T), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(100:i8:^(100:i8):null:i8?), Slice(2:i8:4:i8:null:i8?), Index(0:i8, None)):i8[*,*,*], GetSlice(Global(T), Index(1:i8, None), Slice(1:i8:3:i8:null:i8?), Index(2:i8, None), Slice(2:i8:4:i8:null:i8?), Slice(100:i8:^(100:i8):null:i8?), Index(0:i8, None)):i8[*,*,*]):(i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*]))
Func sig: (T:i8[*,*,*,*,*,*]) to (i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*], i8[*,*,*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(2,2,2)<-576,144,16>
      [[[2088, 2104]
        [2232, 2248]]

       [[1512, 1528]
        [1656, 1672]]]
  ,
    Ten<i8>(2,2,2)<576,-144,16>
      [[[1656, 1672]
        [1512, 1528]]

       [[2232, 2248]
        [2088, 2104]]]
  ,
    Ten<i8>(2,2,2)<576,-48,16>
      [[[1416, 1432]
        [1368, 1384]]

       [[1992, 2008]
        [1944, 1960]]]
  ,
    Ten<i8>(2,2,2)<576,48,-16>
      [[[1384, 1368]
        [1432, 1416]]

       [[1960, 1944]
        [2008, 1992]]]
  ,
    Ten<i8>(2,2,2)<576,48,-4>
      [[[1388, 1384]
        [1436, 1432]]

       [[1964, 1960]
        [2012, 2008]]]
  ,
    Ten<i8>(2,2,2)<576,48,-1>
      [[[1379, 1378]
        [1427, 1426]]

       [[1955, 1954]
        [2003, 2002]]]
  ,
    Ten<i8>(2,1,3)<144,0,1>
      [[[848, 849, 850]]

       [[992, 993, 994]]]
  ,
    Ten<i8>(2,1,3)<144,0,4>
      [[[848, 852, 856]]

       [[992, 996, 1000]]]
  ,
    Ten<i8>(2,2,2)<144,16,4>
      [[[824, 828]
        [840, 844]]

       [[968, 972]
        [984, 988]]]
  ,
    Ten<i8>(2,2,2)<144,48,4>
      [[[760, 764]
        [808, 812]]

       [[904, 908]
        [952, 956]]]
  ,
    Ten<i8>(3,2,2)<144,48,4>
      [[[664, 668]
        [712, 716]]

       [[808, 812]
        [856, 860]]

       [[952, 956]
        [1000, 1004]]]
  ,
    Ten<i8>(3,2,2)<576,48,4>
      [[[232, 236]
        [280, 284]]

       [[808, 812]
        [856, 860]]

       [[1384, 1388]
        [1432, 1436]]]
  ,
    Ten<i8>(4,2,2)<-576,48,4>
      [[[1960, 1964]
        [2008, 2012]]

       [[1384, 1388]
        [1432, 1436]]

       [[808, 812]
        [856, 860]]

       [[232, 236]
        [280, 284]]]
  ,
    Ten<i8>(4,2,2)<-144,48,4>
      [[[1096, 1100]
        [1144, 1148]]

       [[952, 956]
        [1000, 1004]]

       [[808, 812]
        [856, 860]]

       [[664, 668]
        [712, 716]]]
  ,
    Ten<i8>(2,3,2)<144,-48,4>
      [[[856, 860]
        [808, 812]
        [760, 764]]

       [[1000, 1004]
        [952, 956]
        [904, 908]]]
  ,
    Ten<i8>(2,3,2)<144,-16,4>
      [[[856, 860]
        [840, 844]
        [824, 828]]

       [[1000, 1004]
        [984, 988]
        [968, 972]]]
  ,
    Ten<i8>(2,1,4)<144,0,-4>
      [[[860, 856, 852, 848]]

       [[1004, 1000, 996, 992]]]
)
###
> (T[2, 1:2, 1, 2:3, 0, ^5], T[2, 1:2, 1, 2:3, ^5, 0], T[2, 1:2, 1, ^5, 2:3, 0], T[2, 1:2, ^5, 1, 2:3, 0], T[2, ^5, 1:2, 1, 2:3, 0], T[^5, 2, 1:2, 1, 2:3, 0], T[2, 1:2, 1, 2:3, 0, 5], T[2, 1:2, 1, 2:3, 5, 0], T[2, 1:2, 1, 5, 2:3, 0], T[2, 1:2, 5, 1, 2:3, 0], T[2, 5, 1:2, 1, 2:3, 0], T[5, 2, 1:2, 1, 2:3, 0])
(T[2, 1:2, 1, 2:3, 0, ^5], T[2, 1:2, 1, 2:3, ^5, 0], T[2, 1:2, 1, ^5, 2:3, 0], T[2, 1:2, ^5, 1, 2:3, 0], T[2, ^5, 1:2, 1, 2:3, 0], T[^5, 2, 1:2, 1, 2:3, 0], T[2, 1:2, 1, 2:3, 0, 5], T[2, 1:2, 1, 2:3, 5, 0], T[2, 1:2, 1, 5, 2:3, 0], T[2, 1:2, 5, 1, 2:3, 0], T[2, 5, 1:2, 1, 2:3, 0], T[5, 2, 1:2, 1, 2:3, 0]) : (i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*])
BndKind:Tuple, Type:(i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*]), Bnd:((GetSlice(Global(T), Index(2:i8, None), Slice(1:i8:2:i8:null:i8?), Index(1:i8, None), Slice(2:i8:3:i8:null:i8?), Index(0:i8, None), Index(5:i8, Back)):i8[*,*], GetSlice(Global(T), Index(2:i8, None), Slice(1:i8:2:i8:null:i8?), Index(1:i8, None), Slice(2:i8:3:i8:null:i8?), Index(5:i8, Back), Index(0:i8, None)):i8[*,*], GetSlice(Global(T), Index(2:i8, None), Slice(1:i8:2:i8:null:i8?), Index(1:i8, None), Index(5:i8, Back), Slice(2:i8:3:i8:null:i8?), Index(0:i8, None)):i8[*,*], GetSlice(Global(T), Index(2:i8, None), Slice(1:i8:2:i8:null:i8?), Index(5:i8, Back), Index(1:i8, None), Slice(2:i8:3:i8:null:i8?), Index(0:i8, None)):i8[*,*], GetSlice(Global(T), Index(2:i8, None), Index(5:i8, Back), Slice(1:i8:2:i8:null:i8?), Index(1:i8, None), Slice(2:i8:3:i8:null:i8?), Index(0:i8, None)):i8[*,*], GetSlice(Global(T), Index(5:i8, Back), Index(2:i8, None), Slice(1:i8:2:i8:null:i8?), Index(1:i8, None), Slice(2:i8:3:i8:null:i8?), Index(0:i8, None)):i8[*,*], GetSlice(Global(T), Index(2:i8, None), Slice(1:i8:2:i8:null:i8?), Index(1:i8, None), Slice(2:i8:3:i8:null:i8?), Index(0:i8, None), Index(5:i8, None)):i8[*,*], GetSlice(Global(T), Index(2:i8, None), Slice(1:i8:2:i8:null:i8?), Index(1:i8, None), Slice(2:i8:3:i8:null:i8?), Index(5:i8, None), Index(0:i8, None)):i8[*,*], GetSlice(Global(T), Index(2:i8, None), Slice(1:i8:2:i8:null:i8?), Index(1:i8, None), Index(5:i8, None), Slice(2:i8:3:i8:null:i8?), Index(0:i8, None)):i8[*,*], GetSlice(Global(T), Index(2:i8, None), Slice(1:i8:2:i8:null:i8?), Index(5:i8, None), Index(1:i8, None), Slice(2:i8:3:i8:null:i8?), Index(0:i8, None)):i8[*,*], GetSlice(Global(T), Index(2:i8, None), Index(5:i8, None), Slice(1:i8:2:i8:null:i8?), Index(1:i8, None), Slice(2:i8:3:i8:null:i8?), Index(0:i8, None)):i8[*,*], GetSlice(Global(T), Index(5:i8, None), Index(2:i8, None), Slice(1:i8:2:i8:null:i8?), Index(1:i8, None), Slice(2:i8:3:i8:null:i8?), Index(0:i8, None)):i8[*,*]):(i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*]))
Func sig: (T:i8[*,*,*,*,*,*]) to (i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*], i8[*,*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(1,1)<0,0>
      [[0]]
  ,
    Ten<i8>(1,1)<0,0>
      [[0]]
  ,
    Ten<i8>(1,1)<0,0>
      [[0]]
  ,
    Ten<i8>(1,1)<0,0>
      [[0]]
  ,
    Ten<i8>(1,1)<0,0>
      [[0]]
  ,
    Ten<i8>(1,1)<0,0>
      [[0]]
  ,
    Ten<i8>(1,1)<0,0>
      [[0]]
  ,
    Ten<i8>(1,1)<0,0>
      [[0]]
  ,
    Ten<i8>(1,1)<0,0>
      [[0]]
  ,
    Ten<i8>(1,1)<0,0>
      [[0]]
  ,
    Ten<i8>(1,1)<0,0>
      [[0]]
  ,
    Ten<i8>(1,1)<0,0>
      [[0]]
)
###
> (T[0, 1, 2, 1, 0, 0:3:0], T[0, 1, 2, 1, 0:3:0, 0], T[0, 1, 2, 3:0:0, 1, 0], T[0, 1, 3:0:0, 2, 1, 0], T[0, ^1:^3:0, 1, 2, 1, 0], T[^3:^1:0, 0, 1, 2, 1, 0])
(T[0, 1, 2, 1, 0, 0:3:0], T[0, 1, 2, 1, 0:3:0, 0], T[0, 1, 2, 3:0:0, 1, 0], T[0, 1, 3:0:0, 2, 1, 0], T[0, ^1:^3:0, 1, 2, 1, 0], T[^3:^1:0, 0, 1, 2, 1, 0]) : (i8[*], i8[*], i8[*], i8[*], i8[*], i8[*])
BndKind:Tuple, Type:(i8[*], i8[*], i8[*], i8[*], i8[*], i8[*]), Bnd:((GetSlice(Global(T), Index(0:i8, None), Index(1:i8, None), Index(2:i8, None), Index(1:i8, None), Index(0:i8, None), Slice(0:i8:3:i8:0:i8)):i8[*], GetSlice(Global(T), Index(0:i8, None), Index(1:i8, None), Index(2:i8, None), Index(1:i8, None), Slice(0:i8:3:i8:0:i8), Index(0:i8, None)):i8[*], GetSlice(Global(T), Index(0:i8, None), Index(1:i8, None), Index(2:i8, None), Slice(3:i8:0:i8:0:i8), Index(1:i8, None), Index(0:i8, None)):i8[*], GetSlice(Global(T), Index(0:i8, None), Index(1:i8, None), Slice(3:i8:0:i8:0:i8), Index(2:i8, None), Index(1:i8, None), Index(0:i8, None)):i8[*], GetSlice(Global(T), Index(0:i8, None), Slice(^(1:i8):^(3:i8):0:i8), Index(1:i8, None), Index(2:i8, None), Index(1:i8, None), Index(0:i8, None)):i8[*], GetSlice(Global(T), Slice(^(3:i8):^(1:i8):0:i8), Index(0:i8, None), Index(1:i8, None), Index(2:i8, None), Index(1:i8, None), Index(0:i8, None)):i8[*]):(i8[*], i8[*], i8[*], i8[*], i8[*], i8[*]))
Func sig: (T:i8[*,*,*,*,*,*]) to (i8[*], i8[*], i8[*], i8[*], i8[*], i8[*])
Type: (Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(3)<1> [256, 257, 258],
    Ten<i8>(3)<4> [256, 260, 264],
    Ten<i8>(2)<-16> [276, 260],
    Ten<i8>(2)<-48> [276, 228],
    Ten<i8>(2)<-144> [516, 372],
    Ten<i8>(2)<576> [660, 1236])
###
> (T[2:1:, 1], T[2:1:0, 1])
(T[2:1:, 1], T[2:1:0, 1]) : (i8[*,*,*,*,*], i8[*,*,*,*,*])
BndKind:Tuple, Type:(i8[*,*,*,*,*], i8[*,*,*,*,*]), Bnd:((GetSlice(Global(T), Slice(2:i8:1:i8:null:i8?), Index(1:i8, None), Slice(null:i8?:null:i8?:null:i8?), Slice(null:i8?:null:i8?:null:i8?), Slice(null:i8?:null:i8?:null:i8?), Slice(null:i8?:null:i8?:null:i8?)):i8[*,*,*,*,*], GetSlice(Global(T), Slice(2:i8:1:i8:0:i8), Index(1:i8, None), Slice(null:i8?:null:i8?:null:i8?), Slice(null:i8?:null:i8?:null:i8?), Slice(null:i8?:null:i8?:null:i8?), Slice(null:i8?:null:i8?:null:i8?)):i8[*,*,*,*,*]):(i8[*,*,*,*,*], i8[*,*,*,*,*]))
Func sig: (T:i8[*,*,*,*,*,*]) to (i8[*,*,*,*,*], i8[*,*,*,*,*])
Type: (Ten<i8>,Ten<i8>), Value: (
    Ten<i8>(1,3,3,4,4)<0,48,16,4,1>
      [[[[[1296, 1297, 1298, 1299]
          [1300, 1301, 1302, 1303]
          [1304, 1305, 1306, 1307]
          [1308, 1309, 1310, 1311]]

         [[1312, 1313, 1314, 1315]
          [1316, 1317, 1318, 1319]
          [1320, 1321, 1322, 1323]
          [1324, 1325, 1326, 1327]]

         [[1328, 1329, 1330, 1331]
          [1332, 1333, 1334, 1335]
          [1336, 1337, 1338, 1339]
          [1340, 1341, 1342, 1343]]]


        [[[1344, 1345, 1346, 1347]
          [1348, 1349, 1350, 1351]
          [1352, 1353, 1354, 1355]
          [1356, 1357, 1358, 1359]]

         [[1360, 1361, 1362, 1363]
          [1364, 1365, 1366, 1367]
          [1368, 1369, 1370, 1371]
          [1372, 1373, 1374, 1375]]

         [[1376, 1377, 1378, 1379]
          [1380, 1381, 1382, 1383]
          [1384, 1385, 1386, 1387]
          [1388, 1389, 1390, 1391]]]


        [[[1392, 1393, 1394, 1395]
          [1396, 1397, 1398, 1399]
          [1400, 1401, 1402, 1403]
          [1404, 1405, 1406, 1407]]

         [[1408, 1409, 1410, 1411]
          [1412, 1413, 1414, 1415]
          [1416, 1417, 1418, 1419]
          [1420, 1421, 1422, 1423]]

         [[1424, 1425, 1426, 1427]
          [1428, 1429, 1430, 1431]
          [1432, 1433, 1434, 1435]
          [1436, 1437, 1438, 1439]]]]]
  ,
    Ten<i8>(1,3,3,4,4)<0,48,16,4,1>
      [[[[[1296, 1297, 1298, 1299]
          [1300, 1301, 1302, 1303]
          [1304, 1305, 1306, 1307]
          [1308, 1309, 1310, 1311]]

         [[1312, 1313, 1314, 1315]
          [1316, 1317, 1318, 1319]
          [1320, 1321, 1322, 1323]
          [1324, 1325, 1326, 1327]]

         [[1328, 1329, 1330, 1331]
          [1332, 1333, 1334, 1335]
          [1336, 1337, 1338, 1339]
          [1340, 1341, 1342, 1343]]]


        [[[1344, 1345, 1346, 1347]
          [1348, 1349, 1350, 1351]
          [1352, 1353, 1354, 1355]
          [1356, 1357, 1358, 1359]]

         [[1360, 1361, 1362, 1363]
          [1364, 1365, 1366, 1367]
          [1368, 1369, 1370, 1371]
          [1372, 1373, 1374, 1375]]

         [[1376, 1377, 1378, 1379]
          [1380, 1381, 1382, 1383]
          [1384, 1385, 1386, 1387]
          [1388, 1389, 1390, 1391]]]


        [[[1392, 1393, 1394, 1395]
          [1396, 1397, 1398, 1399]
          [1400, 1401, 1402, 1403]
          [1404, 1405, 1406, 1407]]

         [[1408, 1409, 1410, 1411]
          [1412, 1413, 1414, 1415]
          [1416, 1417, 1418, 1419]
          [1420, 1421, 1422, 1423]]

         [[1424, 1425, 1426, 1427]
          [1428, 1429, 1430, 1431]
          [1432, 1433, 1434, 1435]
          [1436, 1437, 1438, 1439]]]]]
)
###
