Preheat your oven to 350°F (175°C) and generously grease an 8x8-inch or 9x9-inch baking dish with butter or nonstick cooking spray.
Place the 6 cups of bread cubes in the prepared baking dish, spreading them into an even layer. If using, sprinkle the 1/2 cup of raisins or chocolate chips evenly over the bread.
In a large mixing bowl, vigorously whisk together the 4 eggs, 2 cups milk, 1 cup heavy cream, 3/4 cup sugar, 2 teaspoons vanilla extract, 1/2 teaspoon cinnamon, and 1/4 teaspoon salt until the mixture is completely smooth and the sugar is fully dissolved.
Slowly pour the custard mixture evenly over the bread cubes in the dish. Use a spatula to gently press down on any floating pieces to help them absorb the liquid. Let the dish sit undisturbed for 15 minutes so the bread soaks up the custard.
Drizzle the 4 tablespoons of melted butter evenly over the top of the soaked bread pudding.
Bake in the preheated oven for 45 to 55 minutes, or until the top is golden brown and puffed, and a knife inserted into the center comes out clean. The pudding should feel firm around the edges and set in the middle.