В этом примере автор избегает ситуации взаимоблокировки:
self() ! {start_worker_supervisor, Sup, MFA}
в его функции init gen_server. Я сделал что-то подобное в одном из моих проектов, и мне сказали, что этот метод не одобряется, и что вместо этого было бы лучше немедленно использовать тайм-аут. Что такое принятый шаблон?