Does giving an architecture argument to api.use in package.js actually do anything?

The docs specify that api.use can take an architecture argument, e.g. server, client, web.cordova, etc. I’m curious if this actually works though. Packages declare their own location in their package.js manifest, specifying which architecture files should be added for and which architecture symbols should be exported for.

So who has control over the architecture that a package will end up on, the user or the author? I’m inclined to believe it’s the author; as a package user it wouldn’t make sense for me to specify where a package to run on the server if it doesn’t actually have any files to run on the server (e.g. jQuery).