In a medium saucepan, combine everything except the butter and vanilla. Bring to a simmer. Cook for 3 minutes, stirring occasionally, until melted and smooth. Remove from the heat and stir in the butter and vanilla. Cool for about 10 minutes.
Add the heavy cream and condensed milk to the bowl of a stand-up mixer. Using the whisk attachment, beat for about 5 minutes, until soft peaks form. Line a loaf pan with parchment paper. Add about 1/3 of the ice cream base. Smooth out the base and add a few tablespoons of fudge sauce. Use a knife to swirl the fudge sauce into the ice cream. Repeat the layers until all the ice cream has been used and about ½ cup of fudge sauce remains. Place it in a fridge-safe container. Transfer the ice cream to the freezer and leave for at least 4 hours, until firm.
In a medium bowl whisk together the eggs, egg whites, salt, vanilla extract, and sugar. Mix in the flour until there are no white specks. Pour in the butter and milk, and mix once more until smooth.
Pre-heat your waffle cone maker. Drop a tablespoon of batter onto the center of the maker. Close and cook for 1-2 minutes. Remove and transfer to the center of two layered paper towels. Place the edge of a smallish book in the center of the waffle and wrap the paper towels and waffle cone around the book to shape it into a taco. Press on it for 1 minute. Remove and allow to cool completely. Repeat until you’ve used all the batter.
Line a baking sheet with parchment. Remove the ice cream from the freezer and allow to come to room temperature for about 10 minutes. Using a teaspoon, spoon it into the choco taco shells and transfer to the baking sheet. Transfer the tacos to the freezer for about 1 hour.
Meanwhile, melt the chocolate over a double-boiler or in the microwave. Dip the tops of the choco tacos in the chocolate, top with sprinkles, pistachios, or coconut flakes. Transfer back to the freezer and refreeze for about 15 minutes, until you’re ready to serve.