- Wash and drain beans. Soak beans for 12 hours. Drain and rinse.
- Cook sweet potatoes in a large pot of boiling water until tender, 10 to 12 minutes. Drain, then return the sweet potatoes to the pot. Cook over medium-low heat until excess moisture is evaporated, 1 to 2 minutes. Remove from heat. Add milk and mash with potato masher or wooden spoon until smooth. Stir in cheddar, cilantro, lime zest, and salt & pepper to taste.
- Combine beans, bay leaf, and broth in a 4qt pot. Bring to a boil, reduce heat, and simmer gently for 2 hours uncovered, or until beans are tender. Allow liquid to reduce by half.
- While beans are simmering, saute onion, bell pepper, garlic, and spices in oil in a large cast iron skillet until tender. Stir veggie mixture into beans, and add vinegar and tomato paste. Simmer an additional 15 minutes, or until liquid has nearly evaporated. Discard bay leaf.
- Preheat broiler to high and place top rack 6 inches from element.
- Evenly spread the mashed potatoes over the bean mixture in the skillet. Broil until just starting to brown, 7 to 8 minutes. Let pie rest 5 minutes before serving.