Could someone explain how this line of code (linked below) properly circumvents the "stack too deep" error? I was under the assumption that the "stack too deep" error meant the method needed to be broken up into smaller sub-methods, as it has too many local variables. Though in the swap
method it looks like defining a new block scope gets around that? is this a recommended way to go about doing things?
https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2Pair.sol#L166