Put 3 tablespoons of the oil into a very large, wide, heavy-bottomed pan and warm over medium heat. Brown the lamb shanks, in batches, in the pan and then remove to a roasting pan or whatever else you've got at hand to sit them in.
Peel the onions and garlic and process in a food processor or chop them finely by hand. Add the remaining oil to the pan, and fry the onion-garlic mush until soft, sprinkling salt over to stop it sticking.
Stir in the turmeric, ground ginger, chile, cinnamon and nutmeg and season with some freshly ground pepper. Stir again, adding the honey, soy sauce and Marsala. Put the shanks back in the pan, add cold water almost to cover, bring to the boil then put a lid on the pan, lower the heat and simmer very gently for 1 to 1 1/2 hours or until the meat is tender.
Add the red lentils and cook for about 20 minutes longer with the lid, until the lentils have softened into the sauce and the juices have reduced and thickened slightly. Check for seasoning.
Toast the nuts by heating them for a few minutes in a dry frying pan, and sprinkle onto the lamb as you serve it.
Fill the bottom of a steamer, or base of a couscoussier should you possess one, with water and bring to a boil. When it looks like it's almost ready to boil, fill the kettle and put it on, then empty the couscous into a glass bowl, add the salt, crush in the cardamom and mix with your fingers, then pour over a quart of boiling water from the kettle and place a plate on top of the bowl. Leave to stand for 5 minutes, then drain and empty into the steamer or couscoussier top and sit this on top of the boiling water beneath. Add the slices of butter on top of the couscous then clamp on the lid and let steam for about 7 to 10 minutes, by which time the couscous should be tenderly cooked and the butter melting. (You can do this a simpler way if you prefer, by just steeping the couscous in the boiling water for 10 to 15 minutes, but the grains will be more dense and more likely to clump. It's not disastrous, however, and you must decide what you're prepared to do.)
Meanwhile, toast the almonds by frying them in a dry pan until fragrant and golden, remove them to a plate, then do the same to the pine nuts. Chop the pistachios. Once the couscous is cooked, tip the bowl, fork through (and always use a fork for mixing or fluffing up couscous; a spoon will crush it and turn it stodgy), sprinkling in the almonds and pine nuts as you do so (and taste for seasoning at the same time, too). Now fork in most of the pistachios, and sprinkle those that remain lightly on top.