My opinion is that functions don't belong in a
template because they mix logic into presentation.
what about presentation logic?
 
A themer should be able to see what is available to them. Fair enough, not everything
conceivable should be included, since there will be an information overload.

For php template tpl files we are collecting the variables visible inside the lambda, so that is not really a problem.
I don't have an answer about how to deal with nested templates, etc...

In my opinion a UI might not be needed in the general case, but there should be a summary of what is available for use in a theme.

A UI, which creates a proxy between some variable pool and a template has it's uses, but it shouldn't be a central feature, it is just that - a helper proxy.