In a dry frying pan, gently toast the coconut until you notice the first signs of it colouring. Allow to cool.
Melt the ghee or butter in a wok or pan (the lighter and thinner the metal, the better, as it is closer to using Indian cookware such as a balti). Throw in the onions and cook fairly briskly with the cinnamon and peppercorns until softened and deep golden, taking care not to burn them.
Using a pestle and mortar, or blender, crush the garlic, ginger, salt and all the remaining spices into a fine paste and combine with the tomato purée.
Add the curry paste to the onions and fry for 2–3 minutes, stirring often. Do not let it burn. Add the meat and briskly sauté for a couple of minutes. Add the coconut water or water and lime juice and bring to a rapid simmer for 4 minutes, or until you have a thickish gravy. Remove from the heat and scatter with the coconut and coriander. Serve with rice, paratha or naan bread.