Погоди, при чём тут какие-то хаки. Есть API A и API B.
Для API B хочешь использовать новую сигнатуру с новым типом void в качестве аргумента, якобы ради совместимости с API A.
Вопрос, нафига: в API A не было ни одной сигнатуры с void, где ты собрался тут совместимость обеспечивать?