Preheat the oven to 180°C. To make the bread pudding, put the bread into a mixing bowl. Heat the milk to boiling point, pour over the bread and leave to soak for 20 minutes. Mash the bread with a fork, add the orange rind and juice, and the brandy or rum, if using. Mash again to remove any remaining lumps. Beat in the eggs, then add all the remaining ingredients, except the butter and white sugar. Mix well and then beat in the butter.
Pour into a well-buttered 23 cm square tin and bake for 1–1 1/4 hours, or until ﬁrm and golden brown.
While the bread pudding is cooking, make the custard sauce. Whisk the egg yolks well in a mixing bowl with the cornﬂour and sugar. Pour the milk into a saucepan and heat until it just comes to the boil, then whisk into the egg yolk mixture. Pour the mixture back into the saucepan and stir continuously over very low heat until the sauce is thick enough to coat the back of the spoon – on no account allow the sauce to boil or it will curdle.
Alternatively, cook the sauce in a double boiler or in a mixing bowl over a saucepan of simmering water. Remove the pan from the heat and stir in either the Angostura bitters, for a spicy ﬂavour, or the brandy or rum.
Remove the pudding from the oven, sprinkle with the white sugar and cut into nine squares. Serve hot with the custard sauce or cold as a cake.