А вот нюанс (как и написано в комментарии) заключается в заголовках. Это хэшмапа, которая не копируется при передаче по значению, ведь внутри она указывает на конкретные участки памяти. И это может привести к неприятным последствиям в виде передачи заголовков от предыдущего запроса в следующем
Выход в данной ситуации - сделать структуру как nil и не давать пользователю к ней прикасаться. В таком случае, в методе
WithHeader нам приходится проверять на nil (и если хэшмапа оказывается действительно nil, создаём новую с нашем заголовком). Получилось неприятно, однако сохраняется чистота. К слову, со слайсами данный трюк был бы немного попроще🤔

