code: def flatten_all(list_of_list):
      
      for i in list_of_list:
          if hasattr(i, "__iter__"):
              for j in flatten_all(i):
                  yield j
          else:
              yield i
docs: Flatten arbitrary depth of nesting. Good for unknown nesting structure
      iterable object.
  
      Usage::
  
          >>> flatten_all([[0, 1], [2, 3, [4, 5], [6, 7, 8]], [9,]])
          [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]