def METHOD_NAME(value: TAnyDateTime) -> pendulum.Date:
    """Coerce a date/time value to a `pendulum.Date` object.
    UTC is assumed if the value is not timezone aware. Other timezones are shifted to UTC
    Args:
        value: The value to coerce. Can be a pendulum.DateTime, pendulum.Date, datetime, date or iso date/time str.
    Returns:
        A timezone aware pendulum.Date object.
    """
    if isinstance(value, datetime.datetime):
        # both py datetime and pendulum datetime are handled here
        value = pendulum.instance(value)
        return value.in_tz(UTC).date()  # type: ignore
    elif isinstance(value, datetime.date):
        return pendulum.date(value.year, value.month, value.day)
    elif isinstance(value, (int, float, str)):
        result = _datetime_from_ts_or_iso(value)
        if isinstance(result, datetime.time):
            raise ValueError(f"Cannot coerce {value} to a pendulum.DateTime object.")
        if isinstance(result, pendulum.DateTime):
            return result.in_tz(UTC).date()  # type: ignore
        return pendulum.date(result.year, result.month, result.day)
    raise TypeError(f"Cannot coerce {value} to a pendulum.DateTime object.")