Transforms a cloud string into a list of strings: [Type, Height (, Optional Modifier)]

def split_cloud(cloud: str) -> [str]:  # type: ignore
    """
    Transforms a cloud string into a list of strings: [Type, Height (, Optional Modifier)]
    """
    split = []
    cloud = sanitize_cloud(cloud)
    if cloud.startswith('VV'):
        split.append(cloud[:2])
        cloud = cloud[2:]
    while len(cloud) >= 3:
        split.append(cloud[:3])
        cloud = cloud[3:]
    if cloud:
        split.append(cloud)
    # Nullify unknown elements
    for i, item in enumerate(split):
        if is_unknown(item):
            split[i] = None  # type: ignore
    # Add null altitude or convert to int
    if len(split) == 1:
        split.append(None)  # type: ignore
    elif isinstance(split[1], str) and split[1].isdigit():
        split[1] = int(split[1])  # type: ignore
    return split