def check_type_match(actual_val, expected_val) -> bool:
    """Check actual_val matches type of expected_val
       The exception here is that expected_val can be
       float, and in that case actual_val can be either
       int or float

    Args:
        actual_val (Any): Actual type
        expected_val (Any): Expected type

    Returns:
        bool: Whether the type matches
    """
    if type(actual_val) == type(expected_val):
        return True

    # Make an exception here since int can be represented as float
    # But not vice versa (for example, index)
    if type(expected_val) == float and type(actual_val) == int:
        return True

    return False