In reply to aditgupta100:
You are trying to push [i-:size] (or specifically [i-:`s]) ints into a queue of int. This might give incompatible assignment type.
Moreover, the slicing operator (+: or -:) expects the right-hand value (the one after ':') to be constant. Since macros are compile time constants (text substitutes), the macro might work. Sitll the incompatible type assignment shall be showcased by simulator.