Cook the urad dal until tender. This is best done in a pressure cooker, but you can do it on the stovetop. If using the stovetop method, try and soak the dal for 3-4 hours as this will speed things up. Add water to cover the lentils by at least two inches, add the turmeric and bay leaves, and cook until tender.
While the dal is cooking, place the chopped tomato and mushrooms in a blender and blend into a smooth paste. Set aside.
Heat the coconut oil in a large pot or Dutch oven. Add the whole spices--cinnamon, cardamom and cloves and saute until the spices are slightly darker, a few seconds.
Add the onions with salt and pepper to taste and saute until they turn golden-brown.
Add the ginger garlic paste with the blended tomato-mushroom paste. Cook, stirring frequently, until the tomatoes darken and the oil appears to express.
Add the edamame beans to the pot and mix well. Cook a couple of minutes.
Add the cooked urad dal to the pot along with two cups of water or vegetable stock. Mix well, then stir in the garam masala, Kashmiri chili powder, and paprika, if using. This is optional, but to make the dal creamier, you can blend a cup of the cooked dal and add it back to the pot.
Stir in half the coconut milk.Bring the dal to a boil, cover, then simmer for 10 minutes until the flavors have melded. If the dal is too thick for your liking you can add more water or stock.
Finish off by adding the remaining coconut milk and lemon juice. Add more salt if needed.
Serve hot.