SWI-Prolog 库 `assoc:get_assoc` 不会统一

SWI-Prolog library `assoc:get_assoc` won't unify

我正在使用来自 SWI-Prolog 的库 assoc。这是一个让我感到困惑的查询:

?- empty_assoc(E), put_assoc(K, E, V, E2), get_assoc(key, E2, 2).
false.

为什么这不统一? 我希望它与

统一
E = t,
K = key
V = 2,
E2 = t(key, 2, -, t, t).

put_assoc/4 谓词必须使用绑定键和值调用。尝试例如

?- empty_assoc(E), put_assoc(key, E, 2, E2), get_assoc(key, E2, V).
E = t,
E2 = t(key, 2, -, t, t),
V = 2.