As an update of the above, I tried the exact same thing you suggested and I kept getting an issue related to the type of `tmp`.
Then, I decided to convert out `push` into a _proc_ (I had it as a template, which I have totally-abused admittedly)... and it works fine again! Sure thing is we'll have to re-visit some things, e.g. the use of templates, to make sure everything is as it's supposed to be. Either way thanks A LOT for pointing me to the right direction! You saved me a lot of time! ;-)