I noticed that Serialize implementation of BitVec (and probably other types as well) uses any::type_name<Order>() to serialize the order. The docs for it say:
The returned string must not be considered to be a unique identifier of a type as multiple types may map to the same type name. Similarly, there is no guarantee that all parts of a type will appear in the returned string: for example, lifetime specifiers are currently not included. In addition, the output may change between versions of the compiler.
So, basically, a compiler update, or even some internal rearrangement in the library, can break the ABI. Could the order be serialized in a more stable way somehow?