For Chocolate Pudding:
1) Combine 1 1/2 cups milk, sugar, and cocoa powder in a medium saucepan over medium-low heat. Whisk and bring to a slight simmer.
2) In a medium bowl, whisk together 1/2 cup milk, corn starch, egg yolks, vanilla, and a pinch of salt.
3) Slowly whisk in about 1 cup of the hot liquid mixture into the egg yolk mixture in a steady stream. Then whisk the hot, tempered egg mixture back into the saucepan with the rest of the milk mixture. Return to low heat.
4) Heat the pudding over low heat, stirring regularly, scraping the bottom to ensure it isn’t sticking. Continue to heat until the mixture is thick, 3-4 minutes.
5) Remove from heat and let cool until room temperature, whisking occasionally to prevent a skin from forming. Layer into jars or chill, covered with plastic wrap.
1) Combine tapioca with water in a medium saucepan. Let sit for 30 minutes off the heat.
2) Add coconut milk, milk, 1/4 cup sugar, salt, and egg yolks. Stir over low heat until mixture is simmering. Simmer, uncovered, stirring regularly, 10-15 minutes until pudding is thick.
3) Using a stand mixer or a whisk, beat the egg whites from the eggs with the sugar until they form soft peaks. Fold about a cup of the tapioca mixture into the egg whites, being careful not to over-stir the mixture. Then fold the egg white mixture back into the tapioca. Return to low heat and stir regularly for 3-4 minutes while mixture thickens.
4) When pudding is really thick, remove from heat and stir in shredded coconut and vanilla.
Layer puddings in jars, starting with chocolate and store in the fridge. Optionally garnish with shaved chocolate.