move treeexec to util
treeexec allows special 'leaf' input
leaf is a keyword
allexec
exhaustiveexec