Peel the yam/sweet potato and cut into relatively thin slices (so it cooks faster). Combine the sweet potato, whole milk, ginger, dark rum and nutmeg in a pot. Bring to a very low simmer on low-heat and keep gentle-simmering until the sweet potato is cooked through (a fork can easily pierce through), just a few minutes. Turn off the heat, then pick the ginger-slices out and discard them. Add the brown sugar and white sugar, stir until dissolved.
Transfer the mixture to a blender, and add the corn starch. Blend on high-speed until the mixture is finely pureed and lump-free, approx 1 min. The residual heat will also cook the corn starch which further thickens the mixture. Add the heavy cream and the optional dark rum, blend until mixed. Transfer the mixture back to the pot and chill in the fridge until completely cold, preferably 6 hours. This “resting” time is supposed to improve the texture of the ice cream.
Churn the mixture into ice cream according to your ice cream-maker instruction. If your machine is just an ice-bucket with a spinner like mine, I find that the coldness of the bucket never lasts long enough. So I usually leave the churned ice cream in the bucket and return it back to the freezer. Every 15 min or so, I would go back and fold/knead the ice cream with a spoon or spatula. I find that this improves the texture of the ice cream by making it slightly denser. Repeat for a couple of times then transfer the mixture to a container to harden in the freezer.