Advanced Solidity Datatypes Explained with Code Examples