Practicing some katas: permutations, tree_depth, and tree_printer