Дима, просьба: если есть ошибки, выливай с --no-verify их. А то я запустил проверку типов, а ошибок нигде нет. Пришлось в коммитах искать и у сбея по файлам. Конечно, это не сложно, но все-таки по ошибкам проще. А проблема у тебя простая: тут какой тип? string | undefined А ты что передаешь? Массив строк здесь явно лишний. Да, в УРЛ GET-параметры могут быть не только просто строки, но и массивы. Вот если ты в титл хочешь передать, то тебе надо исключить массивы, или привести их к строке. Первый вариант: Здесь если есть значение и тип этого значения - строка, то ее и получаем. В противном случае undefined. То есть чтобы тут ни пришло кроме строки, оно будет заменено на undefined. Тайпскрипт такие конструкции понимает и здесь ему четко ясно: title - это строка или undefined. Обрати внимание на то, что здесь условие двойное. Первое - это проверка на значение. То есть если на вход придет пустая строка, она не будет соответствовать этому значению и в итоге будет undefined. Но ежели ты хочешь получать в том числе и пустую строку (что зависит от логики), то следует делать так: Здесь title может получить в том числе пустую строку. Второй вариант: Здесь, помимо предыдущей проверки, добавляется проверка на массив. Если значение - массив, то мы возвращаем его элементы, объединив запятой, используя метод Array.prototype.join(). Собственно, решение второй ошибки точно такое же.