graphql: single mutation or one mutation per type

It depends what your use case is.

Does your GUI allow for update of a user's addresses without also updating the user info? If so you will likely need a separate mutation for updating only the addresses.

If you are allowing user and addresses to be edited and saved as one operation then individual mutations would require you to send multiple HTTP requests (one per mutation).

Do you need to update the user and addresses as an atomic transaction (i.e. all or nothing)? If so then you should use a single mutation.