Step 1In a bowl, toss the shrimp with the lemon juice and ¼ teaspoon salt. Cover and set aside.
Step 2In a deep skillet or wok set over medium heat, add the oil. When the oil is hot, stir in the cumin and fennel seeds and saute until fragrant, about 30 seconds. Toss in the shallots and bell pepper and continue to cook for 5 to 7 minutes to soften the peppers.
Step 3Add the dried chiles, garlic and ginger to the skillet and saute for 3 to 4 minutes. Stir in the butter and tomatoes, then reduce the heat to low and simmer, uncovered, until the tomatoes release their juice and it begins to thicken, 12 to 15 minutes.
Step 4Toss in the dried apricots, preserved lemon and turmeric and simmer for 5 to 7 minutes to marry the flavorings. Taste for seasoning and add an additional ¼ teaspoon salt, or to taste.
Step 5Stir in the shrimp, coating it with the sauce. Cook, stirring once or twice, just until the shrimp becomes opaque, 3 to 4 minutes, careful not to overcook. Toss in the cilantro and remove any chile tops that popped off during cooking. Serve over rice.