An trait representing the common operations you would do to/with credentials, such as logging in with a password, or validating an oauth token to log in
Add credentials to some backing store.putCredentials takes a function, most likely partially applied on some userId, that takes a P and adds some user record onto a credentials store.