Any combination of wild mushrooms can be used in this smooth, creamy soup.
Soak porcini in warm water until soft, about 20 minutes. Drain, squeeze gently, chop coarsely, and set aside.
In a large saucepan over low heat, melt butter. Add oil, shallots, garlic, onion, and leeks; cook until soft, about 20 minutes.
Add all mushrooms except porcini and cook for 5 to 10 minutes, until slightly soft. Season lightly and add leaves of 1 thyme sprig. Add turnips, apple, and bay leaf and cover with stock (you may not use it all). Simmer for 30 minutes, adding porcini in the last 10. Remove from heat.
Remove bay leaf and puree soup in a food processor in small batches. Place in a clean pot and reheat gently.
Add Madeira, cream, and remaining thyme leaves. Add more stock if soup is too thick. Adjust salt and pepper to taste. Serve in warm bowls with a dollop of creme fraiche and a sprinkling of chives.