How to Make It
In a large pot, cover the beans with 2 inches of water and bring to a boil. Remove from the heat, cover and let stand for 1 hour.
Drain the beans and return them to the pot. Add the whole onion, carrot, thyme, rosemary and bay leaf. Add the stock and 2 cups of water and bring to a boil. Simmer over low heat until the beans are nearly tender, about 30 minutes. Season with salt and pepper. Drain the beans and reserve the cooking liquid. Discard all of the other solids.
In a very large pot, melt the butter in the olive oil. Add the sliced onions and garlic and season with salt and pepper. Cook over moderately high heat, stirring occasionally, until softened, about 6 minutes. Add the collards and cook, tossing, until wilted slightly. Add half of the reserved bean cooking liquid, cover and cook over low heat, stirring occasionally, until the collards are tender, about 1 hour.
Add the beans and the remaining bean cooking liquid to the pot and cook until the beans are tender, about 30 minutes. Stir in the lime zest and juice, season with salt and pepper and serve.