Signing a payload using _signTypedData and verifying and getting the signer address in solidity feels more complex than it should be if your payload is not a simple datatatype. Took 12 dev hours to figure out out 😅
Agreed. Next time maybe consider using: https://github.com/danfinlay/eip712-codegen