I wonder if 'optional' a better name than 'eitheror' ?
( based on logic following -- could be the logic is wrong instead ! )