pearl sugar or crushed Belgian waffle sugar, optional
Heat the milk in a small saucepan until it registers 115 degrees F on a thermometer. Add to the bowl of a stand mixer fitted with the paddle attachment, along with the sugar, yeast, and cardamom extract. Allow to sit for 10 minutes, so that the yeast blooms and becomes foamy.
Add in the eggs and mix to combine. Add the salt and flour, and mix until a dough forms. Switch to the dough hook, and knead on medium speed for 2 minutes. Drop to low speed, and add the butter one piece at a time, allowing it to fully incorporate before adding the next piece. Once all the butter has been added, knead for an additional 4 minutes. Place the dough in a greased bowl, cover with plastic wrap, and allow to rise for 60 minutes, or until doubled in size. Punch the dough down, recover, and allow to rise 30 minutes more.
Preheat the oven to 375 degrees F. Line 2 baking sheets with parchment paper. Place the dough on a work surface, and divide in half. Set aside one half, and cover with a tea towel. Divide the first half into 3 equal pieces. Roll each piece into a 16-inch rope. To braid, place the 3 pieces side by side. Pinch the ends farthest away from you together. Bring the left rope up and across the middle rope, and lay it down next to the right rope. Bring the right rope up and over what is now the middle rope, and lay it down next to the inside of what is now the left rope. Continue in this fashion until you reach the end. Tuck the ends underneath the braid and transfer to one of the baking sheets.
If making buns, divide the remaining dough into 8 equal pieces. Roll into balls, and place on the second baking sheet. Cover both the braid and the buns with tea towels and allow to rest for 20 minutes.
In a small bowl, whisk together the heavy cream, egg yolk, and coffee extract. Brush over the top of the buns and braid, and sprinkle with the sugar, if using. Bake for 20-25 minutes or until golden brown. Allow to sit for 10 minutes before serving with coffee.