As in the title, but would it be reasonable to make Link and AtomicLink #[repr(C)]? I realise that an external library could put the links into a bad state, but this would mean that a list, for example, could be constructed in Rust and then passed to a consumer in C. My use case is actually to pass between two Rust binaries in the same address space.