Library-owned enterprise user and membership reconciliation.
@type refusal_reason() :: :ambiguous_email_match | :provider_subject_conflict | :unsafe_email_claim
@spec reconcile(map(), atom(), map(), map(), map()) :: {:ok, atom(), map(), map()} | {:error, refusal_reason()}