def is_conflict(a, b):
    """
    Check if appointments a and b overlap.

    Parameters
    ----------
    a : Appointment
    b : Appointment

    Returns
    -------
    bool
        True if they overlap, otherwise False.
    """
    a, b = min(a, b), max(a, b)
    return a.end >= b.start