def tzy_flatten(ll):
    """
    Own flatten just for use of this context.
    Expected outcome:
        > flatten([1, 2, [3, 4], [5]])
        [1, 2, 3, 4, 5]
    Only goes 1 depth so should be O(n) time, but also O(n) space
    """
    ret = []
    for item in ll:
        if isinstance(item, list):
            for subitem in item:
                ret.append(subitem)
        else:
            ret.append(item)
    
    return ret