consider switch on Bool to be exhaustive