Melt butter in saucepan over medium-low heat; add onions, celery, and carrots and cook for about 10 minutes until onions become translucent. Add garlic and cook for an additional 2 minutes. Whisk flour into the onion mixture, cook for 1 minute, then whisk in the hot chicken stock. Turn the heat up to medium. While stirring, cook 5 minutes until moderately thickened. Next, whisk in the heavy cream and peanut butter; heat the soup through but do not bring to a boil. Stir in the lime juice. Serve with optional toppings such as chopped toasted peanuts, scallions, cilantro, cayenne, or hot sauce. This soup is also delicious served chilled.