In a structure trait decorated with #[proc_macro_attribute], decorate a method with #[skip_meta] to exclude it from the auto-generated a meta structure trait.
Generate a canonical structure type for a type T by decorating it with #[derive(CanonicalStructure)].
Optional additional structure can be generated by adding #[canonical_structure(eq, partial_ord, ord)].
The type must implement Debug and Clone. The optional additional structures may require T to implement further traits.
Requires MetaType, Signature, and SetSignature to be in scope. The optional additional structures may require further items to be in scope.