Usually, only the value returned by {@link getEmptyValue()} is
considered empty but that is not always the case.
Note: This function assumes that $value is valid so this function can only
be used reliably on $values that came from the API, not from the user.