Input ds is  dataset[5,2] (dimensionless)
==ds[:,:]==
it.rank()= 2  the rank of the result
Iter [0:5,0:2] @ [0,0]  0.0
Iter [0:5,0:2] @ [0,1]  1.0
Iter [0:5,0:2] @ [1,0]  2.0
Iter [0:5,0:2] @ [1,1]  3.0
Iter [0:5,0:2] @ [2,0]  4.0
Iter [0:5,0:2] @ [2,1]  5.0
Iter [0:5,0:2] @ [3,0]  6.0
Iter [0:5,0:2] @ [3,1]  7.0
Iter [0:5,0:2] @ [4,0]  8.0
Iter [0:5,0:2] @ [4,1]  9.0
==start stop iterator ds[0:3,:]==
it.rank()= 2  the rank of the result
Iter [0:3,0:2] @ [0,0]  0.0
Iter [0:3,0:2] @ [0,1]  1.0
Iter [0:3,0:2] @ [1,0]  2.0
Iter [0:3,0:2] @ [1,1]  3.0
Iter [0:3,0:2] @ [2,0]  4.0
Iter [0:3,0:2] @ [2,1]  5.0
==singleton iterator ds[:,0]==
it.rank()= 1  the rank of the result
Iter [0:5,0] @ [0,0]  0.0
Iter [0:5,0] @ [1,0]  2.0
Iter [0:5,0] @ [2,0]  4.0
Iter [0:5,0] @ [3,0]  6.0
Iter [0:5,0] @ [4,0]  8.0
==singleton iterator ds[:,0]==
it.rank()= 1  the rank of the result
it.length(0)= 5  it.length(1)= 1
it.index(0)= 0  it.index(1)= 0
it.index(0)= 1  it.index(1)= 0
it.index(0)= 2  it.index(1)= 0
it.index(0)= 3  it.index(1)= 0
it.index(0)= 4  it.index(1)= 0
where is length() used?
dataset[3,4,5] (dimensionless)
Iter [0:3,0,0:5] @ [-1,0,-1] 
it.rank()= 2  the rank of the result
it.length(0)= 3  it.length(1)= 1  it.length(2)= 5 the number of iterations for each dimension