Contact lists encode the most efficiently, because hex references are encoded as bytes. 55705 bytes -> 34322 bytes (1.68). But the main goal isn’t minimal size, it’s O(1) field access and mapping to Swift/Rust/etc data structures without encoding/decoding.