Place an oven rack in the bottom third of the oven and another in the top third of the oven. Preheat oven to 350°F Butter three 9-inch cake pans, then line each with a parchment round. Butter the paper and dust the pans with flour; knock out excess. Using an electric mixer fitted with the paddle attachment, cream the butter and sugar on medium-high speed until light and fluffy, about 3 minutes. Use a rubber spatula to scrape down the sides of the bowl. In a medium bowl, stir together the flour, baking powder and salt to blend. In a small bowl, stir together the milk, coconut milk and coconut cream until smooth. Add the flour mixture in three increments, alternating with the milk mixture in two increments, starting and ending with the flour mixture. After each addition, mix at low speed just to combine the ingredients. Stir in the vanilla. Using an electric mixer fitted with the whisk attachment, beat the egg whites on high speed until stiff peaks form. Gently fold the egg whites into the batter until evenly blended. Divide the cake batter evenly among the prepared cake pans. Set two layers on the top rack and the third on the lower rack. Stagger the cake layers on the oven racks so that no layer is directly over another. Bake for 35 minutes or until a toothpick inserted in the middle of the cakes comes out clean. Monitor the layers carefully for doneness; each may be done at a different time. Remove from the oven and let cool in the pans for 10 minutes, then unmold onto wire racks to cool completely. Make whipped cream filling; set aside. Make frosting; set aside. To assemble the cake, stack one cake layer on a serving plate and spread the top with half of whipped cream filling. Repeat with a second layer. Stack the final cake layer on top of the first two and cover the cake's top and sides with the frosting. Sprinkle the coconut on the top and sides of the cake. Cover the cake loosely with plastic wrap and store for 1 day at room temperature or up to 3 days in the refrigerator. Bring to room temperature before serving. Makes 8 to 10 servings. Whipped cream filling: Using an electric mixer fitted with the whisk attachment, beat 1 cup cold heavy whipping cream on high speed until soft peaks form. Beat in 2 tablespoons coconut cream (such as Coco Lopez) and 1/2 cup grated fresh coconut (optional). Frosting: Whisk 2 large egg whites, 11/2 cups sugar, 1/3 cup cold water, 1/4 teaspoon cream of tartar and 1/4 teaspoon kosher salt in a large stainless-steel bowl until thoroughly combined. Place the bowl over a saucepan filled with 2 inches of barely simmering water. Using a hand beater or handheld electric mixer, continue beating the egg white mixture for 4 minutes. Add 1/2 cup mini marshmallows in 2 increments while continuing to beat. Wait until the first batch of marshmallows has melted before adding the second. Continue beating for 2 to 3 minutes more, until stiff peaks form. Remove from the heat, stir in the vanilla and continue beating until the frosting is thick enough to spread. NOTE:It's challenging to press coconut into the sides of the cake. When pressing the coconut in, the icing invariably sticks to my fingers and mars the frosting's finish. I've discovered that throwing small handfuls of coconut toward the side of the cake makes it adhere quite well - a messy but effective technique for creating a gorgeous cake.