code: func ObjectsAreEqualValues(expected, actual interface{}) bool {
  	if ObjectsAreEqual(expected, actual) {
  		return true
  	}
  
  	actualType := reflect.TypeOf(actual)
  	if actualType == nil {
  		return false
  	}
  	expectedValue := reflect.ValueOf(expected)
  	if expectedValue.IsValid() && expectedValue.Type().ConvertibleTo(actualType) {
  		// Attempt comparison after type conversion
  		return reflect.DeepEqual(expectedValue.Convert(actualType).Interface(), actual)
  	}
  
  	return false
  }
docs: // ObjectsAreEqualValues gets whether two objects are equal, or if their
  // values are equal.