code: func (t *Tree) clean(values []interface{}) []interface{} {
  	result := values[:0]
  
  	for _, v := range values {
  		if contains(result, v) {
  			continue
  		}
  
  		result = append(result, v)
  	}
  
  	return result
  }
docs: // clean will remove duplicates