input: Write a function to calculate the total cost of a shopping cart considering item prices, quantity, shipping cost, and any applicable taxes. The function should return the total cost as a float.
  assert calculate_total_cost([{"name": "widget", "price": 10, "quantity": 5}, {"name": "thingy", "price": 7, "quantity": 3}, {"name": "doodad", "price": 5, "quantity": 2}], 7.50, 0.095) == 94.8375
  assert calculate_total_cost([{"name": "apple", "price": 1, "quantity": 10}, {"name": "banana", "price": 0.5, "quantity": 20}], 5.0, 0.08) == 27.2
  assert calculate_total_cost([], 3.5, 0.1) == 3.5
  assert calculate_total_cost([{"name": "item1", "price": 10, "quantity": 1}], 0, 0) == 10.0
output: def calculate_total_cost(cart, shipping_cost, tax_rate):
      total_cost = sum(item['price'] * item['quantity'] for item in cart)
      total_cost += shipping_cost
      total_cost *= (1 + tax_rate)
      return total_cost