BOIL: Peel the sweet potatoes and chop them into 1 inch / 2.5 cm slices, then in half to make even-ish sized chunks. Add the sweet potato to a saucepan and cover with salted water. Bring to the boil, then simmer and cook until the sweet potatoes are fork tender, about 15 minutes or so.
PUREE: Drain the sweet potatoes. Return them to the saucepan and let them sit for a few minutes to cool slightly and release steam. This helps keep them from being gummy. Use an immersion blender to puree them into a rough mash. Measure out 1/4 cup & 2 tbsp / 90 ml of the unseasoned plain mashed sweet potato and reserve that for later. Add the coconut cream, lime juice, salt and ground ginger, then puree again until smooth. Reserve the puree for later.
BROWN: While the sweet potatoes for the topping are cooking, brown the meat. Preheat a 12 inch cast iron skillet over medium heat. Add the avocado oil and, when hot, add about half of the lamb or beef, sprinkling with salt, to taste. Cook until browned on both sides, turning a few times and breaking up with the back of a spoon or spatula as it cooks. Transfer the browned meat to a bowl, using a slotted spoon to leave the fat behind in the pan, then repeat with the rest of the meat. Transfer the cooked beef to the bowl and reserve for later.
SOFTEN: Pour off any excess fat or liquid from the meat into a heat proof dish, leaving behind just enough fat to coat the skillet. Reduce the heat and add the onions and garlic to the skillet. Cook, stirring a few times, until translucent, about 5 minutes or so. Add the grated carrots, browned meat, red wine vinegar, coconut aminos, ground ginger, fenugreek, salt, cinnamon and turmeric to the skillet and stir to combine.
THICKEN: Preheat the oven to 400 F / 205 C. Pour the broth into a high sided measuring jug or similar. Add the reserved unseasoned plain mashed sweet potatoes and use an immersion blender to blend together smoothly. Stir the thickened broth through meat filling in the skillet and cook until the liquid reduces by about half, 3 or 4 minutes. Remove the skillet from the heat and transfer it to a trivet.
BAKE: Add the riced cauliflower and golden raisins to the meat mixture and stir to combine evenly. Pat the meat layer down with a spatula so that it’s level. Spoon the seasoned sweet potato puree on top of the meat filling and use a spatula or back of a spoon to smooth it evenly and swirl it with a pattern if you like. Place the skillet on a baking sheet and into the oven. Bake until heated through and bubbly, about 30 minutes.