Да никакой ошибки нет - туда просто ставтится очевидный ассерт - после которого конечно функция несколько меняет сигнатуру - и становится очевидно тотальной - но и становится более вменяемой по здравому же даже смыслу
Причем тут дело не в сраче как таковом - пример поучителен - таки да - задуматься о тотальности функции по этому методу оказалось очень полезно - поскольку у самого метода есть очень простой и легко проверяемый критерий сходимости - динамика убывания дельты по итерациям (при правильных аргументах она отменная - за то метод и ценится).
Потому функция превращается в тотальную просто добавлением проверки на этот критерий - от чего кроме формальной правильности становится одним потенциальным факапом меньше - а пользователю библиотеки по крайней мере придется задуматься о возможности ошибки и как-то предусмотреть ее обработку.
Причем в жабской по крайней мере библиотеке этой проверки таки нет. А было бы формальное требование - была бы. И исключение какое-то бы кидалось вместо ухода в бесконечный цикл.
То есть именно что "полнота" не только не нужна тут - но и вредна - поскольку позволяет забить на вполне в общем очевидную проверку на валидность параметров