code: func commonKind(v1, v2 reflect.Value) reflect.Kind {
  	k1 := unsizedKind(v1)
  	k2 := unsizedKind(v2)
  	if k1 == k2 && (k1 == reflect.Uint64 || k1 == reflect.Int64) {
  		return k1
  	}
  	if k1 == reflect.Complex128 || k2 == reflect.Complex128 {
  		return reflect.Complex128
  	}
  	return reflect.Float64
  }
docs: // commonKind returns the kind to which v1 and v2 can be converted with the
  // least information loss.