Cut your bread into 1-inch cubes and spread them evenly in a greased 9x13 inch baking dish. If your bread is fresh rather than day-old, place the cubes on a baking sheet and toast them in a 300°F oven for 10-15 minutes until slightly dried but not browned.
In a large bowl, whisk together the eggs until frothy. Gradually add the sugar while continuing to whisk.
Pour in the milk in a steady stream while whisking to prevent the eggs from curdling. The mixture should coat the back of a spoon when ready.
Stir in the vanilla extract, cinnamon, nutmeg, and salt. If using a vanilla bean, add the scraped seeds now.
Pour the custard mixture over the bread cubes, making sure all pieces are evenly saturated. Press bread down gently to help absorption.
Scatter raisins throughout if using. Allow this mixture to sit for 30 minutes, occasionally pressing down gently with a spatula.
While the bread soaks, preheat your oven to 350°F.
After the soaking period, drizzle the melted butter over the top of the pudding and sprinkle with turbinado sugar if using.
Bake for 45-50 minutes until the center is set but still slightly jiggly and the top is golden brown. A knife inserted into the center should come out mostly clean with just a few moist crumbs.
Let the pudding rest for at least 15 minutes before serving to allow the custard to fully set.