Preheat the oven to 180C/356F.
Place the chopped bread in a large bowl and set aside.
Place the coconut milk, raw cane sugar, ground flaxseed, vanilla, cinnamon, nutmeg and mixed spice in a blender and blitz until smooth.
Transfer into a large jug or a bowl then mix together with the mixed fruit and rum essence.
Pour the liquid into the bowl with the bread.
Use either your hands (with gloves on) or a potato masher to breakdown the majority of the bread until it is fully saturated (I like to leave some pieces of bread whole and use it for the topping).
Pour the mixture into a square 9x9 oven proof baking dish and arrange the pudding so that chopped pieces of bread are on top.
Bake for roughly 60-70 minutes (mine took just under an hour to bake) or until the bread pudding is golden brown. If the pudding hasn't cooked after the given time, loosely cover with foil and check it is ready in 15 minute intervals.
Once baked, remove from the oven and allow to cool down before slicing/serving.
Meanwhile, prepare the optional sauce.
Add the coconut milk, dairy free butter and sugar in a medium sized saucepan and bring to the boil while stirring.
Once boiled, reduce the heat and simmer (while stirring) for 20 minutes until the sauce has darkened and thickened.
Stir in the rum essence once the sauce is ready.