package vals

import 

var (
	dummy              interface{}
	nilValue           = reflect.ValueOf(&dummy).Elem()
	emptyInterfaceType = reflect.TypeOf(&dummy).Elem()
)

// ValueOf is like reflect.ValueOf, except that when given an argument of nil,
// it does not return a zero Value, but the Value for the zero value of the
// empty interface.
func ( interface{}) reflect.Value {
	if  == nil {
		return nilValue
	}
	return reflect.ValueOf()
}

// TypeOf is like reflect.TypeOf, except that when given an argument of nil, it
// does not return nil, but the Type for the empty interface.
func ( interface{}) reflect.Type {
	if  == nil {
		return emptyInterfaceType
	}
	return reflect.TypeOf()
}