code: func (p pairList) sort() interface{} {
  	if p.SortAsc {
  		sort.Sort(p)
  	} else {
  		sort.Sort(sort.Reverse(p))
  	}
  	sorted := reflect.MakeSlice(p.SliceType, len(p.Pairs), len(p.Pairs))
  	for i, v := range p.Pairs {
  		sorted.Index(i).Set(v.Value)
  	}
  
  	return sorted.Interface()
  }
docs: // sorts a pairList and returns a slice of sorted values