pub fn top_encode_from_nested<T, O>(
    obj: &T,
    output: O
) -> Result<(), EncodeError>where
    O: TopEncodeOutput,
    T: NestedEncode,