code: def lists_eq(list1, list2):
      
      if len(list1) != len(list2):
          return False
      for count, (item1, item2) in enumerate(zip(list1, list2)):
          if isinstance(item1, np.ndarray) or isinstance(item2, np.ndarray):
              failed = not np.all(item1 == item2)  # lists_eq(item1, item2)
          else:
              failed = item1 != item2
          if failed:
              return False
      return True
docs: recursive