Roast the nuts. If using almonds or cashews, dry-roast them gently until fragrant and lightly golden. Set aside.
Begin the besan. Melt ½ cup ghee in a heavy pan over low to medium-low heat. Add the besan and stir thoroughly, breaking up any lumps.
Give it time. Keep stirring and scraping the base so the besan roasts evenly. It will gradually deepen to a golden colour, smell nutty and loosen in the pan. My batch takes around 30 minutes. Follow those cues rather than the clock, and lower the heat if it colours too quickly. Do not add extra ghee simply because the mixture looks thick at the start.
Add nuts and cool. Stir in the roasted nuts, then transfer to a bowl so the hot pan does not continue cooking the flour. Let it become lukewarm, with no strong heat left in it.
Mix in the sweetness. Add the powdered sugar or prepared bura sugar and cardamom. Mix very well, making sure there are no pockets of sugar. Adding sugar to hot besan can melt it and make shaping difficult.
Check the texture. If the mixture feels too soft to shape, let it cool a little longer. If it is cool enough but still crumbles when pressed, work in a teaspoon of melted ghee at a time, staying within the extra ¼ cup allowance. Use only what is needed.
Roll the ladoos. Divide into portions of your preferred size. Press each portion together, then roll between your palms. Add a raisin on top if you like, pressing it in gently. Let the ladoos firm up before packing.