func Uint64KeySet(theMap interface{}) Uint64 {
	v := reflect.ValueOf(theMap)
	ret := Uint64{}
	for _, keyValue := range v.MapKeys() {
		ret.Insert(keyValue.Interface().(uint64))
	}
	return ret
}
Uint64KeySet creates a Uint64 from a keys of a map[uint64](? extends interface{}).
If the value passed in is not actually a map, this will panic.
package sets
import (
	"reflect"
	"sort"
)
type Uint64 map[uint64]Empty
func NewUint64(items ...uint64) Uint64 {
	ss := Uint64{}
	ss.Insert(items...)
	return ss
}