Cover the cashews in boiling water and set aside to soak for at least half an hour then drain. (You can also soak them in cold water overnight instead).
Place the soaked cashews in a blender along with the 250ml water and blend until smooth.
Add the coconut milk, cocoa powder, espresso powder, salt and vanilla extract and continue to blend until it is completely smooth. There should be no hint of grittiness if you rub some of the mixture between your fingers.
Place the sugar and chopped chocolate in a saucepan and add half of the cashew mixture. Stir over a low heat until the chocolate has melted and the mixture is smooth then remove from the heat.
Place the cornflour in a bowl and gradually whisk in the rest of the cashew mixture, making sure that there are no lumps.
Pour the cornflour mixture into the pan of chocolate mixture in a thin stream, whisking constantly.
Place the pan over a low heat and whisk until it comes up to the boil and thickens then remove from the heat and pour into a bowl.
Cover with greaseproof paper directly on the surface to prevent a skin from forming then place in the fridge until completely cold. (I leave it in there overnight)
Once chilled the mixture will be very thick. Give it a good whisk then churn in an ice cream maker according to the manufacturers instructions.
Transfer to a container and place in the freezer to firm up a little more before serving. Once the ice cream is fully frozen it will be quite firm; let it sit out at room temperature for a bit before scooping.