Bring a large pot of salted water to a boil. Set up a bowl of ice water near the stovetop.
Take 2 asparagus stalks and shave into thin ribbons with a swivel vegetable peeler, then set aside. Slice the remaining stalks into diagonal pieces about 2 inches long.
Drop the sliced asparagus into the boiling water and cook 3 minutes. Scoop them out with a slotted spoon into the bowl of ice water.
Gently wipe the wild mushrooms with a cloth if they have debris clinging to them. Trim the stem ends and break or slice the mushrooms into large bite-size pieces. Slice the button mushrooms into quarters.
Set a large (12-inch) skillet over medium-high heat and add the oil. Put the mushrooms in the pan in one layer. Cook for 5 minutes without stirring, until they begin to brown. Add a large pinch of salt and stir the mushrooms. Cook for another 5 minutes or so, until they've given up their liquid and softened.
Cook the pasta until al dente, reserving 1/2 cup of the water before draining.
Add the shallot, garlic and butter to the mushrooms and stir. Cook 1 or 2 minutes, until the garlic is fragrant and the butter is melted. Stir in a little pasta water to loosen the sauce.
Drain the asparagus and add to the skillet. Lower the heat. Add the drained pasta, thyme and parsley and toss with tongs (add more pasta water if needed). Add the reserved (raw) shaved asparagus and toss.
Transfer to a serving bowl. Use a vegetable peeler to shave curls of cheese over the pasta.
Use a mixture of wild mushrooms available in your market, such as maitake (also called hen of the woods), oyster, king trumpets, brown or white beech, or shiitake caps (trim the tough stems).