все равно не понимаю, мы можем передать более узкий тип аргументов, это же хорошо, тк мы знаем эти типы, с которыми будет вызвана функция, вот если бы мы вызывали с широким типом, то была бы ошибка, что логично, тк к нам могут попасть незнакомые типы, но мы же занижаем