#[macro_export]
macro_rules! purpose {
($x:ident) => {
#[allow(non_camel_case_types)]
#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default, Debug, serde_derive::Serialize, serde_derive::Deserialize)]
pub struct $x;
};
}