<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _name_things(self):
 """ Easy names for debugging """

        edges = {}
        nodes = {None: 'root'}
        for n in self._tree.postorder_node_iter():
            nodes[n] = '.'.join([str(x.taxon) for x in n.leaf_nodes()])
        for e in self._tree.preorder_edge_iter():
            edges[e] = ' ---> '.join([nodes[e.tail_node], nodes[e.head_node]])

        r_edges = {value: key for key, value in edges.items()}
        r_nodes = {value: key for key, value in nodes.items()}
        return edges, nodes, r_edges, r_nodes