- Handy way of casting to a contract proxy trait.
Would make more sense to be in dharitri-wasm-derive, but Rust “cannot export macro_rules! macros from a - proc-macrocrate type currently”.
 
- Imports required for deriving serialization and TypeAbi. 
- Getting all imports needed for a smart contract. 
- Compact way to represent the BorrowedMutStorage type. 
- Converts usize to NonZeroUsize or returns SCError. 
- Very compact way of not allowing anyone but the owner to call a function. 
- Allows us to write Solidity style - require!(<condition>, <error_msg>)and avoid if statements.
 
- Compact way of returning a static error message. 
- Equivalent of the ? operator for SCResult.