code: func (ms *multiSorter) Less(i, j int) bool {
  	p, q := &ms.stats[i], &ms.stats[j]
  	// Try all but the last comparison.
  	var k int
  	for k = 0; k < len(ms.less)-1; k++ {
  		less := ms.less[k]
  		switch {
  		case less(p, q):
  			return true
  		case less(q, p):
  			return false
  		}
  		// p == q; try the next comparison.
  	}
  	return ms.less[k](p, q)
  }
docs: // Less is part of sort.Interface. It is implemented by looping along the
  // less functions until it finds a comparison that discriminates between
  // the two items.