func (t *Tree) Merge(other *Tree) (next *Tree, err error) {
	root, err := t.Root.Merge(other.Root)
	if err != nil {
		return
	}
	next = &Tree{
		Root: root,
	}
	return
}
// Merge combines two trees as if they had the same root
Merge combines two trees as if they had the same root
// Merge combines two trees as if they had the same root
func (t *Tree) Merge(other *Tree) (next *Tree, err error) {
	root, err := t.Root.Merge(other.Root)
	if err != nil {
		return
	}
	next = &Tree{
		Root: root,
	}
	return
}
func ( t * Tree ) Merge ( other * Tree ) ( next * Tree , err error ) { root , err := t . Root . Merge ( other . Root ) if err != nil { return } next = & Tree { Root : root , } return }
Merge combines two trees as if they had the same root
Merge combines two trees as if they had the same root