It seems like app type, checkManifest(), and permissions errors can all coexist, so it'd be better to collect the first two kinds of errors with the permissions errors and return all of them at once instead of exiting early when we detect one of the first two kinds.