загрузка укропа не возвращает ту же функцию сброса

#python #dill

Вопрос:

Почему dill.loads дает другую двоичную строку функции от dill.dumps ? Рассмотрим следующий пример:

 import dill

def func(**kwargs):
    return [kwargs[k] for k in ["A", "B", "C"] if k in kwargs]

origin_hex = dill.dumps(func).hex()
alt_hex1 = dill.dumps(dill.loads(bytes.fromhex(origin_hex))).hex()
alt_hex2 = dill.dumps(dill.loads(bytes.fromhex(alt_hex1))).hex()
print(origin_hex == alt_hex1) # False
print(alt_hex1 == alt_hex2) # True
 

Почему origin_hex отличается от alt_hex1?

Я использую python версии 3.9.4 и dill версии 0.3.3.