Heat the water, lentils, and turmeric in a saucepan, and bring to the boil. Simmer the mixture for about 1 hour, or until soft. If necessary, add a bit of extra water.
Stir in the coriander, garam masala, sugar, and salt, to taste. Cook until the lentils are completely soft and beginning to break up.
Heat the oil or butter in a small pan. Fry the cardamom pods, cumin, mustard seeds, cloves, chiles, bay leaves, and cinnamon for 30 seconds. Be careful as the seeds may pop a bit. Add the coconut, and stir until it turns golden brown.
To serve the dish, stir the spice mixture into the lentils and divide among 4 serving plates.
NotesI have done away with fresh coconut because dried is so much easier, but if you have the time, fresh coconut is tastier.