def is_tuple_starting_with(tuple_1, tuple_2):
    """
    Returns whether `tuple_1` starts with `tuple_2`.
    
    Parameters
    ----------
    tuple_1 : `tuple`
        The first tuple which should start with the second one.
    tuple_2 : `tuple`
        The second tuple.
    
    Returns
    -------
    is_tuple_starting_with : `bool`
    """
    tuple_1_length = len(tuple_1)
    tuple_2_length = len(tuple_2)
    
    if tuple_1_length > tuple_2_length:
        return tuple_1[:tuple_2_length] == tuple_2
    
    if tuple_1_length == tuple_2_length:
        return tuple_1 == tuple_2
    
    return False