from typing import List
from typing import Any


def flatten(deep_list: List[Any]) -> List[Any]:
    """
    Recursively flatten the list into 1D list containing all nested elements
    """
    if len(deep_list) == 0:
        return deep_list
    if isinstance(deep_list[0], list):
        return flatten(deep_list[0]) + flatten(deep_list[1:])
    return deep_list[:1] + flatten(deep_list[1:])