Сообщение от j0hnik
			 
		
	 | 
	
		Nexus, 
 я ж не спорю, но как думаете сколько нужно времени современному компьютеру чтобы в один поток завершить такой цикл? 
while(Math.random() != 0);
alert(0);
 
	 | 
	
вообще-то, по заданию, makeSaver допускает любую функцию, а не обязательно Math.random, потому не должна предполагать какие там значения могут быть а какие нет.
например, makeSaver(() => Math.round(Math.random())) поймает ноль в 50% случаев