Notes Solidity grammar https://docs.soliditylang.org/en/v0.8.10/grammar.html#a4.SolidityParser.expression https://www.cs.bham.ac.uk/~pjh/modules/current/02630/lectures/lecture12/lecture12_handout.pdf