2 cups heavy cream
3 tablespoons unsweetened Dutch-process cocoa powder
5 ounces bittersweet or semisweet chocolate, chopped
1 cup whole milk
¾ cup sugar
Pinch of salt
5 egg yolks
½ teaspoon vanilla extract
1 cup miniature marshmallows
1 cup walnuts
½ cup chocolate chips
1. Warm 1 cup of the cream with the cocoa powder in a medium saucepan, whisking to thoroughly blend the cocoa. Bring to a boil, then reduce the heat and simmer at a very low boil for 30 seconds, whisking constantly. Remove from the heat and add the chopped chocolate, stirring until smooth. Then stir in the remaining 1 cup cream. Pour the mixture into a large bowl, scraping the saucepan as thoroughly as possible, and set a mesh strainer on top of the bowl.
2. Warm the milk, sugar, and salt in the same saucepan. In a separate medium bowl, whisk together the egg yolks. Slowly pour the warm milk into the egg yolks, whisking constantly, then scrape the warmed egg yolks back into the saucepan.
3. Stir the mixture constantly over medium heat with a heatproof spatula, scraping the bottom as you stir, until the mixture thickens and coats the spatula (and reaches 170 degrees F on an instant-read thermometer). Pour the custard through the strainer and stir it into the chocolate mixture until smooth, then stir in the vanilla. Stir until cool over an ice bath.
4. Chill the mixture thoroughly in the refrigerator, then freeze it in your ice cream maker according to the manufacturer's instructions. (If the cold mixture is too thick to pour into your machine, whisk it vigorously to thin it out.) Once the ice cream has finished churning, fold in the marshmallows, walnuts and chocolate chips.