a) Uno o è cattolico o è comunista, that's all.
b) Uno è cattolico o comunista, that's all.
Spesso soggiunge l'esigenza di asserire concetti secondo i quali esistono solo due opzioni alternative, di talché ricorre l'uso della 'o' per indicare—anche a fini contrappositivi—ciò.
Che sappia, in tali casi gli italiani usano anche "delle due, l'una: o X o Y", dove, p.e., X potrebbe essere 'zuppa' e Y 'pan bagnato'.
Io sono in difficoltà con la 'o' quando devo usarla come in a) perché "Uno o"—cioè la 'o' che segue 'Uno'—appare, quantomeno a me, strana.
Stante ciò, tendo ad usare forme come la b) anche laddove preferirei la a) perché dà una maggiore idea di contrapposizione.
Domande:
Secondo la grammatica italiana, la a) è corretta quanto la b)?
Se sono entrambe grammaticalmente corrette, c'è una ragione per cui uno, in dipendenza del contesto, dovrebbe preferire l'una all'altra?