Preheat the oven to 180°C/350°F/Gas Mark 4.
Grease and line a 10-inch loose bottom/base baking pan with parchment paper, then set aside.
Sieve the cornmeal and gluten free flour in a large heatproof mixing bowl.
Add the cinnamon, nutmeg and pink salt.
Use a whisk to combine the dry ingredients.
Make a well in the centre of the dry ingredients and set aside.
Meanwhile, add the coconut milk, water, coconut sugar, vanilla and dairy free butter to a medium sized saucepan.
Heat the mixture over medium heat, stirring occasionally until the butter has completely melted and the milk is very hot.
Gradually pour the warm coconut milk mixture into the dry ingredients, whisking continuously to prevent lumps from forming.
Continue whisking until everything is thoroughly combined.The mixture should have thickened up slightly.
Stir in the raisins, if you re using them.
Pour the cornmeal mixture into the prepared baking pan and transfer to the oven.
While the pudding is baking, prepare the soft top custard by adding the coconut milk and coconut sugar to a saucepan.
Simmer over medium heat for approximately 5 minutes, stirring frequently, then remove from the heat.
After the pudding has baked for 15 minutes, carefully remove it from the oven. The top of the pudding should be set (very important).
Pour the coconut custard evenly over the surface of the pudding, then return it to the oven. If using a springform tin, you may want to place a baking tray underneath to catch any excess liquid.
Continue baking for approximately 45–50 minutes or until the soft and slightly gooey (this is completely normal), while the pudding underneath should be firm.
Remove the pudding from the oven and allow it to cool before carefully removing it from the baking tin.
Slice and enjoy!