input: Write a function to calculate the total cost of a shopping cart. The function should consider the 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) == 99.325
  assert calculate_total_cost([ {"name": "apple", "price": 0.5, "quantity": 10 }, {"name": "banana", "price": 0.3, "quantity": 15 }], 5.0, 0.1) == 13.0
  assert calculate_total_cost([ {"name": "book", "price": 20, "quantity": 2 }, {"name": "pen", "price": 1, "quantity": 5 }], 3.0, 0.05) == 53.55
output: def calculate_total_cost(items, shipping_cost, tax_rate):
      subtotal = sum(item['price'] * item['quantity'] for item in items)
      total_cost = subtotal + shipping_cost
      total_cost += total_cost * tax_rate
      return total_cost