func Select(slice interface{}, k int) {
	compareableSlice(reflect.ValueOf(slice)).Select(slice, k)
}
Select applies select-k algorithm on a Slice<T> if T implements a `func (T) Compare(T) int`. See
Fn.Select. It panics if slice does not implement the compare function.
package order
import (
	"bytes"
	"fmt"
	"reflect"
	"strings"
	"time"
	"github.com/posener/order/internal/reflectutil"
)
func Is(value interface{}) Condition {
	return compareableFn(reflect.TypeOf(value)).Is(value)
}
func Sort(slice interface{}) {
	compareableSlice(reflect.ValueOf(slice)).Sort(slice)
}
func SortStable(slice interface{}) {
	compareableSlice(reflect.ValueOf(slice)).SortStable(slice)
}
func Search(slice, value interface{}) int {
	return compareableSlice(reflect.ValueOf(slice)).Search(slice, value)
}
func MinMax(slice interface{}) (min, max int) {
	return compareableSlice(reflect.ValueOf(slice)).MinMax(slice)
}
func IsSorted(slice interface{}) bool {
	return compareableSlice(reflect.ValueOf(slice)).IsSorted(slice)
}
func IsStrictSorted(slice interface{}) bool {
	return compareableSlice(reflect.ValueOf(slice)).IsStrictSorted(slice)
}