code: def copy_table(tbl, start=0, stop=None, blen=None, storage=None,
                 create='table', **kwargs):
      
  
      # setup
      names, columns = _util.check_table_like(tbl)
      storage = _util.get_storage(storage)
      blen = _util.get_blen_table(tbl, blen)
      if stop is None:
          stop = len(columns[0])
      else:
          stop = min(stop, len(columns[0]))
      length = stop - start
      if length < 0:
          raise ValueError('invalid stop/start')
  
      # copy block-wise
      out = None
      for i in range(start, stop, blen):
          j = min(i+blen, stop)
          res = [c[i:j] for c in columns]
          if out is None:
              out = getattr(storage, create)(res, names=names,
                                             expectedlen=length, **kwargs)
          else:
              out.append(res)
  
      return out
docs: Copy `tbl` block-wise into a new table.