from typing import List


def alphabetical_binary_search(sorted_list: List, search_name: str) -> int:
    """Alphabetical binary search (for study purpuses)

    Args:
        sorted_list (List): A list of names (must be ordered)
        search_name (str): name to search

    Returns:
        int: found index or -1
    """
    lowest_index = 0
    highest_index = len(sorted_list) - 1
    intermediate_index = highest_index // 2

    while lowest_index <= highest_index:
        name = sorted_list[intermediate_index]

        if search_name == name:
            return intermediate_index

        if name > search_name:
            highest_index = intermediate_index - 1

        if name < search_name:
            lowest_index = intermediate_index + 1

        intermediate_index = (lowest_index + highest_index) // 2

    return -1