To make the crust and filling: With a hand or stand mixer, cream the butter and sugar until smooth. Add the yolks, salt, and vanilla and mix well. Gradually mix in the flour. While the mixer in going, add the cream and mix until the dough is smooth.
Wrap the dough in plastic wrap and refrigerate it for an 1 hour.
Preheat the oven to 350 degrees F, line a baking sheet with parchment paper, and spray it with cooking spray.
Roll out the dough on a lightly floured surface to about 1/4 inch thick. Use a ruler to make uniform rectangles, or to be totally exact, trace a 3-by-5-inch card (that's how big the store brand is). Reroll the scraps, getting as many rectangles as you can until you're out of dough. Place half the rectangles on the prepared baking sheet.
Spoon about 2 tablespoons of filling into the center of half the rectangles, leaving a 1/2-inch edge uncovered. Don't overfill them! Try to make these look legit.
Using a finger or pastry brush, spread water around the 1/2-inch border of the filled rectangles.
Fit a top rectangle on each filled rectangle, pressing with the tines of a fork around the border to seal the top and bottom crusts together.
Brush each tart with a bit of egg wash and poke a few tiny holes in each so the steam can escape. Bake for 10 to 12 minutes, or until the edges start to turn golden. Let the tarts cool completely on a wire rack.
To make the topping: In a medium bowl, whisk together the powdered sugar and milk (and cinnamon, if using) to make the icing.
When the tarts are completely cool, ice them if desired, and add some sprinkles if you like. But seriously, add those sprinkles.
Let the icing set up for about 10 minutes and enjoy!