Написать параметрический декоратор cast(тип), который пытается преобразовать результат декорируемой функции к заданному типу. Исключения проверять не надо, но надо пользоваться @wraps.
@cast(int)
def fun(a, b):
return a * 2 + b
print(fun(12, 34) * 2)
print(fun("12", "34") * 2)
print(fun(12.765, 34.654) * 2)116 242468 120
