Часто обработка ошибки сводится к пробрасыванию на несколько уровней в верх и тут постоянные if err != nil только напрягают.
постоянные if err != nil - это плохой дизайн языка.
но в других языках, где обработка идёт через Either, тоже отказались от исключений