code: def out_of_bounds(self, index):
          
          if type(index) is int:
              return self.int_out_of_bounds(index)
  
          elif type(index) is slice:
              return self.slice_out_of_bounds(index)
  
          elif type(index) is tuple:
  
              local_index = []
  
              for k, item in enumerate(index):
  
                  if type(item) is slice:
                      temp_index = self.slice_out_of_bounds(item, k)
  
                  elif type(item) is int:
                      temp_index = self.int_out_of_bounds(item, k)
                  # FIXME: will fail if item is no int or slice!
                  if temp_index is None:
                      return temp_index
  
                  local_index.append(temp_index)
  
              return tuple(local_index)
docs: Check index for out of bounds
  
          :param index: index as integer, tuple or slice
          :return: local index as tuple