code: func numLess(a, b reflect.Value) bool {
  	switch a.Kind() {
  	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
  		return a.Int() < b.Int()
  	case reflect.Float32, reflect.Float64:
  		return a.Float() < b.Float()
  	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:
  		return a.Uint() < b.Uint()
  	case reflect.Bool:
  		return !a.Bool() && b.Bool()
  	}
  	panic("not a number")
  }
docs: // numLess returns whether a < b.
  // a and b must necessarily have the same kind.