Proposal: a new `exports` field in `findlib` META files

No, that would lead to dune’s current broken mode of implicit_transitive_deps false.

You want the hidden_libs to be simply included with -H which is different from what we have now. That prevents you from using their definitions in some subtle way which I’m afraid is not really documented in the manual (at least not in the -H PR). But it’s not this proposal duty to explain it. You might be able to understand the behaviour by reading the RFC.

You always link against everything. If a library l privately uses libraries (requires) and you want to link against l you will have to link against these private libraries as well.

However you if compile against l you should not be able to compile your code against the definitions of these private libraries.

I think the first paragraph here achieves that as well as the usage section.