1. Place a rack in the upper third of your oven and preheat to 200°F. This will keep the pancakes warmed as they're fried in batches.
2. To make the pancakes: In a large bowl, whisk together flour, baking powder, baking soda, salt, cinnamon, nutmeg, ginger and, if using, nuts and raisins. In a small bowl, whisk together the egg, brown sugar, buttermilk and vanilla. Stir in carrots. Stir carrot mixture into dry ingredients, stirring until just Incorporated. Let rest for five minutes while you make the cream cheese topping.
3. To make the cream cheese topping: In a small bowl, beat the cream cheese until fluffy and lump-free. Whisk in powdered sugar, two tablespoons milk, vanilla and cinnamon. If you'd like the mixture thinner, add the remaining tablespoon of milk (I did not).
4. Over medium heat, melt 1 tablespoon butter in a cast-iron skillet or griddle pan. Spoon 2 tablespoons batter into the hot pan per pancake (to me, this seemed like too little but after experimenting with larger pancakes, I advise you to listen to Joy; It's a wiggly batter and much easier to and cook in small puddles), flipping once, until pancakes are golden on both sides, about 2 minutes per side. Transfer finished pancakes to a serving dish or tray in the oven, to keep warm while you repeat the process with the remaining batter, adding more butter as needed.
Serve warm with cream cheese topping.