Preheat oven to 350F.
Shred your carrots first and set aside. The easiest way to do this is in a food processor.
Sift all your dry ingredients together in a bowl. This include the flours, baking powder and soda, spices, and salt.
In a large bowl or stand mixer, combine all of the wet ingredients and sugar- eggs, applesauce, oil, vanilla, orange juice and zest, and sugar. Beat on medium until well combined.
Add your dry ingredients to your wet and beat on low until just combined. Using the paddle attachment if using a stand mixer. If the batter seems way too thick, add your milk. I find this really depends on the brand of flours that you are using, so you may not need the milk if you are using the same brands I have linked.
Fold in your carrots and walnuts/raisins if using.
Let batter sit while you line a 8x8 or 9x9 baking dish with parchment paper.
Evenly spread batter into baking dish and bake for 35-40 minutes, until a toothpick comes out clean.
Let the cake cool completely before icing the cake. If making the first icing option, be sure to read the recipe as it does require chilling time and should be made in advance.
To make the second icing option, combine all ingredients together in a bowl and mix well until you have a thicker, spreadable icing. If the icing is too runny for any reason, you can add more powdered sugar.
Once cake is cooled, remove from pan and ice. I like to add more crushed walnuts on top, but decorate as desired. Slice, serve, and enjoy!