Using a vegetable peeler, remove zest from orange in long strips; reserve flesh for another use. Make a bouquet garni by wrapping zest, ginger, coriander, and peppercorns in a piece of cheesecloth; tie kitchen twine around top of bundle.
In a medium stockpot, melt butter over medium heat. Add onion and cayenne; cook, stirring occasionally, until onion is soft and starts to brown, 4 to 5 minutes. Add bouquet garni; cook 2 minutes more. Add stock; bring to a boil.
Add sweet potato and squash to pot; return to a gentle simmer, and partially cover. Cook until vegetables are just beginning to fall apart, about 25 minutes. Remove from heat, and let cool slightly.
In a blender, puree soup in batches, being careful not to fill more than halfway. Pour soup into a clean pot; cook over medium heat until just heated through. Serve garnished with nuts, if desired.
Excellent soup! I did not use a sweet potato, as I didn't have on on hand, and I used some homemade veggie stock instead of chicken broth. The result is nice and creamy, and the orange zest and coriander seeds add a unique twist.