Camarones A La Diabla (devil Shrimp)

3 Roma tomatoes
6 dried guajillo chiles, stemmed and seeded
3-4 dried chile de arbol, stemmed and seeded
water (about 1 1/2 -2 cups)
1-2 chipotle pepper in adobo sauce, plus about a tablespoon of the adobo sauce (optional)
1 1/2 pounds raw shrimp, peeled and deveined with tails on (large, 31/35)
juice of 1/2 lime or lemon
salt and ground black pepper, to taste
1 tablespoon butter (sub with olive oil if preferred)
2 tablespoons olive oil, divided
1/2 medium onion, finely chopped (brown, yellow or white)
2 garlic cloves, minced
Optional
chopped cilantro or parsley (garnish)
lime or lemon wedges for serving
sour cream, for serving
rice and corn tortillas for serving

Place the tomatoes and dried chiles in a saucepan, add enough water to cover the chiles and tomatoes. Bring to a boil. Reduce the heat to low, and simmer for about 10 minutes or until the chiles have softened. Remove from the heat and cool slightly.
Meanwhile, season the shrimp with the lime or lemon juice, salt and ground black pepper to taste. Set aside.
Transfer the tomatoes, chiles, about 1 cup of the cooking water and the chipotle pepper (if using) to a blender. Blend until smooth. If the sauce seems too thick, add additional cooking water. Taste. You can add a fresh tomato if the sauce is too spicy for your taste.
In a large skillet, melt the butter with a tablespoon of olive oil over medium-high heat. Add the shrimp and sauté for about a minute per side or until the shrimp starts to change color but it’s not fully cooked (it will look a bit translucent and not fully pink). Transfer the shrimp to a plate. Set aside.
Add the remaining oil to the skillet and when hot, add the onion. Sauté, stirring occasionally for about 3 minutes or until the onions become translucent. Add the garlic and cook for about 30 seconds or until aromatic.
Pour the sauce into the skillet and cook for about 2 minutes, stirring frequently to prevent it from sticking to the bottom of the skillet. Reduce the heat and simmer for about 4-5 minutes. Stir in the shrimp and cook for about 2 minutes or until the shrimp is fully cooked. Season to taste with salt and ground black pepper. Garnish with chopped cilantro or parsley and lime or lemon wedges (optional).
Serve as an appetizer or over steamed rice or Mexican rice and sliced avocado, if desired.