There is some redundant code to define primitive types. Define macros for such types to implement some trait like `Encode`, `Decode`, `TryFrom`, `Serialize`, `Deserialize`, `AsBytesRef`. https://github.com/LayerXcom/zero-chain/tree/master/core/primitives/src