def maximum_severity(*alarms):
    """
    Get the alarm with maximum severity (or first if items have equal severity)
    Args:
        *alarms (Tuple[AlarmSeverity, AlarmStatus]): alarms to choose from

    Returns:
        (Optional[Tuple[AlarmSeverity, AlarmStatus]]) alarm with maximum severity; none for no arguments
    """

    maximum_severity_alarm = None

    for alarm in alarms:
        if maximum_severity_alarm is None or alarm[0] > maximum_severity_alarm[0]:
            maximum_severity_alarm = alarm

    return maximum_severity_alarm