На самом деле вопрос лишен практического смысла.
PHP в большинстве случаев всем оперирует на уровне строк. Числовые параметры из запроса или из СУБД - всё приходит в виде строк. Числовые типы данных нужны для арифметических операций, значений констант, операций с массивами (хотя и там можно обойтись строками).
Если для функции РЕАЛЬНО важен передаваемый тип данных, например только int, то и надо передавать int. Точка. И писать явно type hint = int.
В ином случае просто не надо описывать type hint, а сделать проверку в теле функции/метода:
if (!is_numeric($var)) throw new Exception....
Автор же, используя 7 версию и используя подсказки типов, хочет вернуть всё на уровень PHP4, сам не понимая смысла своих действий.