In large saucepan, cover potatoes with cold water. Add 2 tsp of salt & bring to simmer. Cook until very soft (20+ min). Drain well & return potatoes to saucepan. Stir in 2 Tb of butter, half & half or milk, a pinch of salt, & cayenne. Mash until smooth & taste for right amount of seasoning. Set aside.
Preheat oven to 425. In large skillet, melt remaining butter over med-hi heat. Add onion & cook until browned, about 4-5min., stirring occasionally. Stir in garlic & cook 1 min. longer. Add cumin, cinnamon, & beef and cook, stirring until browned & no longer pink. Pour off some of excess fat, leaving about 2 Tb in pan. (If I use turkey, I add olive oil, so it won’t be dry.)
Stir in black beans, tomato, ketchup, & honey & season with 3/4 tsp salt & pepper. Cook 5 min longer & spread evenly in a 10” deep pie platter or 1 1/2 quart casserole dish. Spread sweet potatoes on top & bake until potatoes are browned & meat is bubbling. If using cheese, keep covered with loose foil, to prevent burning.