Preheat oven to 400. Line 8x8 cake pan with parchment paper. In a large bowl, whisk together the flour, cornstarch, sugar and salt. Add the cubed butter and work in with your hands until you have a coarse sand texture. Add the vanilla and combine until it is just beginning to bind together. If it is still super dry, you can add a little extra vanilla. Knead lightly and pressing into the bottom of the pan. The dough will still be crumbly.
Bake for 10-13 minutes until just starting to turn golden. Set aside to cool while you make the caramel.
For the caramel:
Heat the cream just to the boil in a small pot and remove from the heat and add the vanilla. In another small pot, add the sugar and heat over medium until the sugar starts to liquify around the edges of the pan. Slowly begin to pull the melted sugar towards the center and mix until all the sugar is liquified.
Continue heating over medium high until the sugar is browned and caramelized but not burnt. Add the cream (careful, it will spit) and stir well. Gradually add in the butter and mix. Then add the peanut butter.
Return the pan to heat and cook, stirring, until it reaches 248 degrees. This is important for the texture of the caramel. If you are adding the nuts, stir into the caramel. Spread the caramel over the shortbread base and allow to cool down a bit.
Place in the fridge to cool and set up. Meanwhile melt the chocolate in your microwave in 20 second intervals, stirring well in between until just melted.
Spread over the caramel layer and place in the fridge to set, then remove whole block from the pan and use a sharp knife to cut into squares.