01 - Grease a 9x13 inch baking dish with butter or nonstick spray. Arrange the bread cubes evenly in the dish.
02 - In a large bowl, whisk together eggs, milk, heavy cream, sugar, vanilla, cinnamon, nutmeg, and salt until smooth.
03 - Pour the custard mixture evenly over the bread cubes, gently pressing the bread down to help it absorb the liquid.
04 - In a small bowl, mix together melted butter, brown sugar, and cinnamon. Stir in nuts if using.
05 - Sprinkle the topping evenly over the casserole.
06 - Cover the dish with foil and refrigerate for at least 2 hours, or overnight for best results.
07 - Preheat the oven to 350°F. Remove the casserole from the refrigerator and let it sit at room temperature while the oven preheats.
08 - Bake covered for 30 minutes. Uncover and bake for an additional 15 minutes, until the top is golden and the custard is set.
09 - Let cool for 10 minutes before serving. Serve warm, optionally with maple syrup or fresh berries.