Backtracking through a call of rerecord/2 does not undo erasure of the erased values and the value Value is not removed.
Success:
[eclipse]: record(beer,lowenbrau),
> record(beer,paulaner),
> record(beer,spaten),
> rerecord(beer,guinness).
yes.
[eclipse]: recorded(beer,Value).
Value = guinness More? (;)
no (more) solution.
[eclipse]: erase_all(beer),rerecord(beer,guinness).
yes.
[eclipse]: recorded(beer,guinness).
yes.
Error:
rerecord(Beer,anything). (Error 4)
rerecord(1,anything). (Error 5)
rerecord(1.0,anything). (Error 5)
rerecord("str",anything). (Error 5)