E.g., both: - https://libgit2.github.com/libgit2/#HEAD/type/git_diff_line - https://libgit2.github.com/libgit2/#HEAD/type/git_diff_hunk are marked as opaque in the docs, but both are defined in the include header, `git_diff_line` internals gets used in an example at: https://github.com/libgit2/libgit2/blob/3a495c19bd280f5455047a9ac0e936f2c2f2f9a9/examples/diff.c#L193, and there seems to be no helper to get those fields out of those structs.