Assuming you can not change the original modules source... A way to do that is without generic functions is below: from decimal import Decimal from jsonify import jsonify jsonify_orig = jsonify def jasonify_mods(obj): if isinstance(obj,Decimal): ... else: return jsonify_orig jsonify = jasonify_mods Why are generic functions better than this technique?