input: Write a function to perform insertion sort on a given list of integers. The function should return the sorted list.
  def insertion_sort(arr):
   for i in range(1, len(arr)):
       key = arr[i]
       j = i - 1
       while j >= 0 and key < arr[j]:
           arr[j + 1] = arr[j]
           j = j - 1
       arr[j + 1] = key
   return arr
  
  assert insertion_sort([4, 3, 1, 2]) == [1, 2, 3, 4]
  assert insertion_sort([5, 4, 3, 2, 1]) == [1, 2, 3, 4, 5]
  assert insertion_sort([1, 3, 2, 4, 5]) == [1, 2, 3, 4, 5]
  assert insertion_sort([]) == []
  assert insertion_sort([1]) == [1]
output: def insertion_sort(arr):
   for i in range(1, len(arr)):
       key = arr[i]
       j = i - 1
       while j >= 0 and key < arr[j]:
           arr[j + 1] = arr[j]
           j = j - 1
       arr[j + 1] = key
   return arr