code: func (n *Node) Flatten() []*Node {
  	nodes := make([]*Node, 0)
  	for _, node := range n.Node.Nodes {
  		if node.Dir {
  			nodes = append(nodes, NewNode(node).Flatten()...)
  			continue
  		}
  
  		nodes = append(nodes, NewNode(node))
  	}
  
  	return nodes
  }
docs: // Flatten converts the recursive etcd directory structure to a flat one that
  // contains all kontrolNodes