pub fn basic_encode_with_depth_limit<T>(
    v: &T,
    depth_limit: usize
) -> Result<Vec<u8>, EncodeError>
where T: BasicEncode + ?Sized,