> The PM said MPs will now get a vote on whether the UK should leave without a deal on 29 March and, if that fails, on whether Brexit should be delayed.
What happens if they vote "No" three times in a row (no deal, no no-deal, no postponement)?
If this wasn't politics I'd say: See if you can simplify this function, bonus points if you can avoid error conditions too:
func brexit(){
if(deal){
exit(deal);
} else {
if(!deal) {
exit(null);
} else {
if(postpone){
wait(TIME);
brexit();
} else {
throw new handsInTheAir();
}
}
}
}