A non-processed version of Recipe #224911. It still uses prepackaged stuffing mix, but you can substitute homemade croutons, or leftover homemade stuffing (don't use the water either if your stuffing is already prepared).
Combine stuffing and hot water in a medium bowl and let sit for 5 minutes.
In a medium sauce pan over medium high heat, melt butter. Once melted, sprinkle flour over the top and whisk to combine.
Continue to whisk for a minute, allowing the flour mixture to cook a little. Then add the milk, all at once, whisking continuously to prevent lumps. Once all of the milk has been incorporated, bring to a boil. Remove from heat.
Add a pinch each of salt, pepper, and nutmeg. Then add, a handful at a time, the cheese. Whisk in each addition until it is completely melted and then add the next handful (there should be plenty of heat in the mixture to melt all of the cheese).
Wash asparagus and snap woody ends off (or trim bottom 2 inches off). Cut the rest into 2 inch pieces. Place in a 9"x13" baking dish along with the ham. Pour the cheese sauce over the top and stir to combine. Top with the stuffing.
Bake for 30 minutes at 350F or until golden brown and bubbly.