but the possibility of such clean, concise definitions is a seductive trap; it is easy to write code that isn't obviously correct in pursuit of that aim
quickly this leads you to code that is not just unreadable but full of bugs, and that is how the person who started this thread was, in their words, trying forth and failing; this is not just a common experience but nowadays a nearly universal one
so it is much better to err on the side of too many variables and too little stack manipulation than the opposite
you can always streamline the code later once it works
i'm pretty sure leo brodie would agree with me on this