code: def merge_sort(arr):
      """Merge Sort
      Complexity: O(n log(n))
      """
      # Our recursive base case
      if len(arr) <= 1:
          return arr
      mid = len(arr) // 2
      # Perform merge_sort recursively on both halves
      left, right = merge_sort(arr[:mid]), merge_sort(arr[mid:])
  
      # Merge each side together
      # return merge(left, right, arr.copy()) # changed, no need to copy, mutate inplace.
      merge(left, right, arr)
      return arr
  
label_desc: Use image node_id 1 for calling a global function with example usage: merge_sort(arr) and returns: arr, arr