code: def weld_cast_array(array, weld_type, to_weld_type):
      
      if not is_numeric(weld_type) or not is_numeric(to_weld_type):
          raise TypeError('Cannot cast array of type={} to type={}'.format(weld_type, to_weld_type))
  
      obj_id, weld_obj = create_weld_object(array)
  
      weld_template = """map(
      {array},
      |e: {type}|
          {to}(e)
  )"""
  
      weld_obj.weld_code = weld_template.format(array=obj_id,
                                                type=weld_type,
                                                to=to_weld_type)
  
      return weld_obj
docs: Cast array to a different type.
  
      Parameters
      ----------
      array : numpy.ndarray or WeldObject
          Input data.
      weld_type : WeldType
          Type of each element in the input array.
      to_weld_type : WeldType
          Desired type.
  
      Returns
      -------
      WeldObject
          Representation of this computation.