implement a private distinct operation

Automatically convert the input slice of struct to a distinct slice of
reflect.Value’s.  I’m not sure this is the right way to go about this -
it might be better to keep everything in maps.