создатель никак не объяснил например зачем надо всюду копипастить
if err != nil {
return nil, err
}
Так и не за чем. Есть же panic. Юные падаваны просто не умеют нормально паниковать, поэтому пишут более простые схемы обработки ошибок. Они и в Go так пишут, и в Haskell. Много раз видел. И фишка в Go, что такой младо-падаванский примитивный код, всё равно, остаются адекватно поддерживаемым. В Haskell быстро приходится уходить на Maybe и монады, иначе там всё превращается в трэш и угар. Не все юные падаваны способны его осуществить (вы не забывайте, что Google хочет решать задачу конкретную, а не в красоту языка играть, ему надо, чтобы был массовый писатель на языке, а не десяток элитариев, которых надо хантить по всему миру). А в Go превращается в трэш, но не в угар, и с этим можно жить и работать.