In this way all these features not even compiled when creating modules, avoiding generating unused code.
This function is only needed when using go PAM for creating applications so it's not something we expect to have exported to library modules. To prevent this use an `asPamModule` tag to prevent compilation of application-only features.