Forcing a weak dependency to require a strong dependency

Suppose that I am developing a package P. I want package to have a published package W as a weak dependency, but if the weak dependency is activated then I want another published package C to be automatically loaded.

I can make this happen by making C a strong dependency of P but that seems overkill.

What is the recommended route to make this happen?

It sounds a bit abstract, what you want to achieve.

But you could make the weak dependency “coupled”, that is the extension is only loaded if both W and C are loaded.

Example (sorry could only find my own one fast)

This is not 100% what you wrote, it is more like

W&C together are a weak dependency of P, i.e. loading both is necessary to “activate” the extended features.