Explain how EIP712 works and create & verify signatures via the sign & addr cheatcodes https://github.com/Rari-Capital/solmate/blob/7c34ed021cfeeefb1a4bff7e511a25ce8a68806b/src/test/ERC20.t.sol#L89-L103