Sift flour with salt, baking powder and sugar into a large mixing bowl, and make a well in the center of the dry ingredients. In another bowl, beat eggs until well mixed, pour into the center of the dry ingredients, along with milk, pure vanilla extract, and butter, which should be melted and cooled slightly, so it is warm, not hot. Mix by hand with a wooden spoon, or on the lowest speed with a mixer.
Once the dough is holding together, turn out onto a floured board, knead for 1 minute. This dough is easy to work with–if it seems sticky, sprinkle a bit more flour onto it as you work. Turn the dough over once or twice as you are kneading, then roll the dough out into a rectangular shape about 1/4 inch thick. Shoot for about a 9" by 13" rectangle, just like a baking pan, but don't worry if it is a bit bigger or smaller.
Combine the filling ingredients, mixing well in a small bowl, then spread onto the dough using a flexible spatula, the back of a spoon or a pastry brush, smoothing out from the middle to 1/2 inch from the edge. Roll the dough up into a jellyroll from the long side, and, using a sharp knife, cut the dough as evenly as possible into 18 pieces.
Mix the topping together in a small bowl. Use spray oil to grease a muffin pan, then divide the topping between 18 muffin tins. After dividing up the topping, place one piece of dough, cut side down, in each muffin tin, on top of the walnut mix. Bake in a preheated 350° oven for 20-25 minutes, until golden brown.
Remove the cinnamon rolls right away to cool, if some of the topping stays in the tin, just pull it out with a spoon and replace it on top of the muffin while it's still hot. Prepare the icing by whisking all the ingredients together while the rolls cool for at least 10 minutes,. Cinnamon Rolls look great served upside down or rightside up. Pick which you prefer, drizzle with icing and serve.