I have been working on my "Functional Style" and like to think that I have improved a bit.
The list order is no longer maintained in this snippet; however as the order change is simply a feature of the foldBack process the reversal of input and reversal of output is a reliable (and efficient?) fix.

The snippet defines a combinator 'tailrec' that can be used to express tail-recursive functions. If you use 'tailrec' and do not mark your function as recursive, then the function will be a tail-recursive one.

you can easily find how to use continuations to iterate over a binary tree but what if the count of children for each node is not known at design time?
It's not so obvious how to do this in order to get a tail-recursive method.
This short snippet shows how to do this to sum the values of every leaf.
The second part demonstrates a general approach for other operations than addition.