code: def zip_columns(columns):
      
      weld_obj = WeldObject(encoder_, decoder_)
      column_vars = []
      for column in columns:
          col_var = weld_obj.update(column)
          if isinstance(column, WeldObject):
              col_var = column.obj_id
              weld_obj.dependencies[col_var] = column
          column_vars.append(col_var)
  
      arrays = ", ".join(column_vars)
  
      weld_template = """
         result(
           for(
             zip(%(array)s),
             appender,
             |b, i, e| merge(b, e)
           )
         )
      """
      weld_obj.weld_code = weld_template % {
          "array": arrays,
      }
  
      return weld_obj
docs: Zip together multiple columns.
  
      Args:
          columns (WeldObject / Numpy.ndarray): lust of columns
  
      Returns:
          A WeldObject representing this computation