Special equipment: A thermometer
For the dough: Lightly grease a large bowl and set aside.
In a small pot, bring the milk just to a boil over medium heat. Watch closely to ensure that the milk doesn't boil over. Add it to a small bowl and let it cool to 105 to 110 degrees F. (It should be warm to the touch but not too hot.) Add the whole egg and yolks and stir to combine.
In the bowl of a stand mixer fitted with the paddle attachment, combine the flour, cranberries, granulated sugar, yeast and salt. Add the warm milk mixture and mix just until combined.
Switch to the dough hook and knead the dough on low speed until smooth and elastic, about 6 minutes. Add the butter a piece at a time until completely incorporated. Form the dough into a ball, put it in the prepared bowl and cover with plastic wrap. Leave it in a warm, draft-free spot until it has doubled in size, about 1 hour.
For the topping: Meanwhile, butter a 9-by-13-inch baking dish.
Add 3 tablespoons water to a small saucepan, then add the granulated sugar to the center of the pan. Cook the sugar mixture over medium-high heat, swirling the pan occasionally, until it is a deep amber, 6 to 8 minutes. Whisk in the butter, cream and salt until smooth (be careful, it will sputter). Pour the caramel into the prepared baking dish. Sprinkle the nuts evenly over the top. Set aside.
For the filling: Mix together the brown sugar, cinnamon and salt in a small bowl. Cover with plastic wrap and set aside.
When the dough has doubled, tip it out onto a very lightly floured work surface. Knead it once or twice to expel the air and then roll it into a 16-by-12-inch rectangle.
Spread the butter evenly over the surface and sprinkle with the reserved filling and the ginger. Tightly roll up the dough and pinch the top seam closed. With a serrated knife, cut the roll crosswise into 12 equal pieces. Set them in the dish with the topping, spirals facing upward. Cover loosely with plastic wrap and let them rest until the dough has almost doubled again, about 1 hour. They should look pillowy and all of the rolls will be touching.
Preheat the oven to 375 degrees F.
Uncover the rolls, set a piece of aluminum foil on a lower oven rack to catch any caramel that may drip and bake until deep golden brown and puffed, 25 to 30 minutes. Give the center roll a wiggle--if it's set in place, the buns are ready to come out. If the middle of that center roll feels soft, give them another few minutes. Let cool on a rack for 5 minutes, then carefully cut around the edge with a paring knife and invert the rolls onto a serving plate. Let cool slightly before eating.
This recipe doesn't call for proofing the yeast but it's easy to do. Simply dissolve the yeast in the warm milk and let it stand for 5 minutes. If the yeast gets nice and foamy, add it to the flour mixture and proceed with the recipe as written. If it doesn't, start over with new yeast. These buns are best served warm. To reheat them, wrap them in foil and warm in a low oven for 20 minutes.