Preheat oven to 140c / 280f.
Place rosemary leaves, cumin seeds, garlic, salt & olive oil into a mortar & pestle, and mash/grind until you have a coarse paste.
Place lamb shoulder fat side up in a baking dish/roasting tray, and rub all over with herb paste (including the bottom side). Place a piece of baking/parchment paper on top of the lamb, then cover entire baking dish/tray tightly with aluminium foil (see notes).
Bake for 3 hours, carefully remove the foil and baking paper and check lamb. It should be soft and fork-tender, if not return to oven (with baking paper & foil) for a further 30 mins.
Once lamb is tender, turn the oven up to 180c / 355f. Then add carrots (if using) to liquid which has collected in the base of the tin, baste the top of the lamb with some of this braising liquid & return lamb to the oven, uncovered and bake for a further 30 to 45 mins to form a slight crust on top and until carrots are cooked to your liking (see notes).
Remove lamb from oven & cover lightly with foil to rest for a few minutes while you make the gravy (optional) - if not proceed to step 12.
To make the gravy, remove the braising liquid from the baking dish and reserve, skimming off any excess fat ( but reserving approx 1 ½ tablespoons).
Add reserved lamb fat back to the roasting tin, add flour and mix to make a paste.
Place baking dish on the stove over a low heat, and stir the flour mixture constantly over low heat until it starts to foam - about 2 -3 mins.
Remove pan from heat and allow to cool just slightly, then mix in beef stock 1 - 2 tablespoons at a time (fully incorporating each time until you have no lumps - before you make the next addition) for the first approx ½ cup, then add remaining beef stock (see notes) and reserved braising liquid, stirring well to combine.
Place baking dish back over low heat, and bring to boil while stirring & scraping up any flavour remnants from the base of the roasting tin and add salt if required.
Pull apart the lamb with two forks & serve with carrots & gravy (if making).