The version `reorder(..., (x,y), (x,z), ...)` is much more user firendly and less error prone that `reoder(..., (0,1), (1,2), ...)`.
Who remembers that we count from inner most and not from left to right in the following example:

```
In [28]: S = Sum(F(i, j, k), (i, a, b), (j, c, d), (k, e, f))

In [29]: S
Out[29]: Sum(F(i, j, k), (i, a, b), (j, c, d), (k, e, f))

In [30]: pprint(_, use_unicode=True)
  f     d     b             
 ___   ___   ___            
 ╲     ╲     ╲              
  ╲     ╲     ╲   F(i, j, k)
  ╱     ╱     ╱             
 ╱     ╱     ╱              
 ‾‾‾   ‾‾‾   ‾‾‾            
k = e j = c i = a           

In [31]: reorder(S, (0,1))
Out[31]: Sum(F(i, j, k), (j, c, d), (i, a, b), (k, e, f))

In [32]: pprint(_, use_unicode=True)
  f     b     d             
 ___   ___   ___            
 ╲     ╲     ╲              
  ╲     ╲     ╲   F(i, j, k)
  ╱     ╱     ╱             
 ╱     ╱     ╱              
 ‾‾‾   ‾‾‾   ‾‾‾            
k = e i = a j = c  
```