This suggestion may be scale-dependent... Have you considered a recursive definition of PNG_get() that takes care of the iterations ?
... depending on what you want to do with the numbers, you could 'process them' inside the recursive function and only return when you have cleared the stack. Possibly not much use if you need to get each one and work extensively with it before moving on to the next one. {As this will create non-abstract code that is bound to the specific implementation.}
... also (as mentioned) scale will be an issue if you have hundreds (thousands ?) of recursive calls on the stack before bottoming out.
... depending on what you want to do with the numbers, you could 'process them' inside the recursive function and only return when you have cleared the stack. Possibly not much use if you need to get each one and work extensively with it before moving on to the next one. {As this will create non-abstract code that is bound to the specific implementation.}
... also (as mentioned) scale will be an issue if you have hundreds (thousands ?) of recursive calls on the stack before bottoming out.