In a large skillet, add butter, onions and ginger -- cook until tender. Stir in flour; gradually adding half and half - whisk until smooth. Add cream of coconut, curry, salt and pepper. Cook over medium heat until thickened. Add lemon juice, reduce heat and simmer uncovered 20 minutes. Add shrimp and cook 5-10 minutes (just until shrimp are pink - don't over cook). Serve over rice and garnish with cilantro. You could add some chopped macadamia nuts on top as well.