code: def smooth(l):
      
      if type(l) in [list, tuple]:
          for i in l:
              for j in smooth(i):
                  yield j
      else:
          yield l
docs: Yields a generator which smooths all elements as if the given list
      was of depth 1.
  
      **Examples**:
      ::
          list(auxly.listy.smooth([1,[2,[3,[4]]]]))
          # [1, 2, 3, 4]