I really like that macro, because it is a nice example for explaining the power 
of Nim macros to new users. It is not too complicated, and it is easy to 
understand the usecase.

But note that using int32 data type is not that hard without it, if really 
desired: At most 3 locations would need a fix:
    
    
    proc doit =
      var a = [3i32, 3, 6]
      for i in 0.int32 ..< 3:
        echo a[i]
        doAssert i is int32
        doAssert a[i] is int32
      for i in low(a).int32 .. high(a):
        echo a[i]
        doAssert i is int32
        doAssert a[i] is int32
    
    doit()
    
    
    
    Run

Reply via email to