code: def moveaxis(
      a: Union[ivy.Array, ivy.NativeArray],
      source: Union[int, Sequence[int]],
      destination: Union[int, Sequence[int]],
      /,
      *,
      copy: Optional[bool] = None,
      out: Optional[Union[ivy.Array, ivy.NativeArray]] = None,
  ) -> Union[ivy.Array, ivy.NativeArray]:
      """Move axes of an array to new positions..
  
      Parameters
      ----------
      a
          The array whose axes should be reordered.
      source
          Original positions of the axes to move. These must be unique.
      destination
          Destination positions for each of the original axes.
          These must also be unique.
      copy
          boolean indicating whether or not to copy the input array.
          If True, the function must always copy.
          If False, the function must never copy.
          In case copy is False we avoid copying by returning a view of the input array.
      out
          optional output array, for writing the result to.
  
      Returns
      -------
      ret
          Array with moved axes. This array is a view of the input array.
  
      Examples
      --------
      With :class:`ivy.Array` input:
      >>> x = ivy.zeros((3, 4, 5))
      >>> ivy.moveaxis(x, 0, -1).shape
      (4, 5, 3)
      >>> ivy.moveaxis(x, -1, 0).shape
      (5, 3, 4)
      """
      return ivy.current_backend().moveaxis(
          a, source, destination, copy=copy, out=out
      )
  
imports: from typing import Optional, Union, Tuple, Iterable, Sequence, Callable, Any, Literal, List
  from numbers import Number
  from functools import partial
  import math
  import ivy
  from ivy.func_wrapper import handle_out_argument, handle_partial_mixed_function, to_native_arrays_and_back, inputs_to_native_shapes, handle_nestable, handle_array_like_without_promotion, handle_view, inputs_to_ivy_arrays, handle_array_function, handle_device, handle_backend_invalid
  from ivy.functional.ivy.general import _numel
  from ivy.utils.backend import current_backend
  from ivy.utils.exceptions import handle_exceptions
label_desc: Use image node_id 5 for calling a global function with example usage: moveaxis() and returns: ivy