https://smartcontracts.org/docs/candid-guide/candid-concepts.html