Added an alternative implementation of tree_of_prodlist, and changed the signature of the old one to make them interchangable (neither one works quite perfectly yet...).