Heat oven to 325 degrees. In a large skillet over medium heat, heat a very thin film of olive oil. Sear the lamb in batches to avoid overcrowding the pan, adding more oil as needed. Take your time with this, making sure to brown the lamb all over. Transfer browned lamb to a roasting pan.
When all the lamb is cooked, add onion to empty skillet and cook it in the lamb drippings, adding a bit more oil if pan looks dry, until limp and lightly browned at the edges, about 5 minutes.
Add garlic, coriander, cayenne and allspice and cook until the garlic is very fragrant and opaque, 1 to 2 minutes longer. Pour in wine and bring to a simmer, scraping up the browned bits on bottom of pan. Let mixture simmer until thickened and reduced by about a third (about 5 minutes). Pour over lamb.
In a bowl, toss together the green onions, spicy greens and herbs. Sprinkle lamb with half the herb mixture and set remaining half aside for serving. Cover pan with 2 layers of foil (or heavy-duty foil) and bake until meat is falling off the bones, 3 to 3 1/2 hours total, turning shanks every hour so they cook evenly. If the bottom of the pan starts to dry out before lamb is done, add a few tablespoons of the stock or water to moisten it.
When shanks are tender, transfer to a heated serving platter and cover with foil to keep warm. If you like, at this point you can tear the meat off the bones; or, serve the shanks bone-in.
On top of the stove, heat roasting pan over medium-low heat. If pan is dry, add remaining stock or water and bring to a simmer. (If drippings in pan seem very fatty, spoon off some of the fat.) Add currants and bring drippings to a simmer, scraping up the browned bits on bottom of pan.