code: func newTreePermutation(root *TreeVertex) *treePermutations {
  	return &treePermutations{
  		descendantPermutations: make(map[*TreeVertex][][]*TreeVertex),
  		originalRoot:           root,
  		permutations:           []*TreeVertex{root},
  	}
  }
docs: // newTreePermutation creates a new treePermutations object with a given root vertex