// Distribution safety trait for remote execution.
// Types implementing Distributable can be safely transferred
// across node boundaries for distributed computing.
/// Describe whether a value can be moved across distributed execution
/// boundaries and how expensive that transfer is expected to be.
trait Distributable {
/// Estimated wire size in bytes for transfer cost estimation
method wire_size() -> int;
/// Whether self value produces deterministic results
/// (enables caching and result deduplication across nodes)
method is_deterministic() -> bool;
}