code: func (s scoreSorter) Less(a, b int) bool {
  	first := s[a]
  	second := s[b]
  
  	if first.Score > second.Score {
  		return false
  	}
  	if first.Score < second.Score {
  		return true
  	}
  	if first.Name == second.Name {
  		v1, err := semver.NewVersion(first.Chart.Version)
  		if err != nil {
  			return true
  		}
  		v2, err := semver.NewVersion(second.Chart.Version)
  		if err != nil {
  			return true
  		}
  		// Sort so that the newest chart is higher than the oldest chart. This is
  		// the opposite of what you'd expect in a function called Less.
  		return v1.GreaterThan(v2)
  	}
  	return first.Name < second.Name
  }
docs: // Less compares a to b, and returns true if a is less than b.