Запускать должно давать. Это проверка на сам запуск и если там falsy значения то просто не запускает, а если запускает то проверять тс должен объект, который передал, но внутри самой функции должно так и ругаться т.к. есть все равно возможность запустить без проверок. Лучше отдельный тип создать и все.