pub fn top_encode_from_nested_or_exit<T, O, ExitCtx>(
    obj: &T,
    output: O,
    c: ExitCtx,
    exit: fn(_: ExitCtx, _: EncodeError) -> !
)
where O: TopEncodeOutput, T: NestedEncode, ExitCtx: Clone,