/// Trait for types with a versioned schema.
///
/// Every CRDT model that supports migration implements this trait.
/// It provides the metadata the migration engine needs to determine
/// whether data needs migration and which steps to run.
///
/// In the future, the `#[crdt_schema]` proc macro will generate
/// this implementation automatically.