def deserialize(obj): def walker(key, value): if isinstance(value, dict): caster = deserialisator(value) if caster: return key, caster.deserialize(value) return traverse(obj, walker)
def wrapper(*args, **kwargs): resp = f(*args, **kwargs) body, code = resp return traverse(body, walker), code