Heat oven to 350 degrees. Prepare 2 9" round cake pans by spraying with cooking spray and dusting with flour. Or, you can use Baker's Joy spray instead. If you want thinner layers, then prepare 3 9" round cake pans.
In a medium bowl, combine the shredded carrots and coconut with 3 tablespoons of the dry cake mix. This will prevent it from sinking in the cake batter while baking.
In a separate larger bowl, combine the remaining cake mix, oil, water, cinnamon, allspice, eggs, and can of mandarin oranges. DO NOT drain the oranges, just pour the entire can in. Beat together with a handheld blender for 1-2 minutes or until completely combined.
Stir in the coconut and carrot mixture and stir together with a spatula or wooden spoon until incorporated into the batter. Evenly divide the cake batter between the prepared cake pans.
Cook for 30-35 minutes or until toothpick inserted in middle comes out clean.
Let cool on a cooling rack until completely cooled. About 1-2 hours. Once cooled frost the top of one cake, place the other on top and spread the remaining frosting on top. If wanted, frost the sides of the caked too. Garnish with chopped pecans if wanted. I like to refrigerate the cake before serving, or you can serve right away.
To make pudding frosting : In a mixing bowl combine the undrained can of crushed pineapple and box of pudding mix (dry mix, do not prepare). Stir together. In a separate mixing bowl, or bowl of a stand mixer, add the heavy whipping cream and powdered sugar. Beat with a handheld blender or whisk attachment until stiff peaks form. About 5 minutes. Add the whipped cream into the pineapple mixture and stir together until combined.