Это норм если обрабатывать все возможные ветки исполнения.
Проблема в том, что если у тебя язык не ML-семейства, с автовыводом типов и т.п., то эту задачу приходится решать вручную, и тут можно продолбаться. И окажется что ковбой работает, а репа или шедулер например отвалились.