This predicate works exactly as its non-backtrackable counterpart,
storage_insert_keypair/4, when the top-level goal succeeds.
However, if the top-level goal fails, then the result of the insertion is
undone. In other words, the pair remains in the database until it is
explicitly deleted or until the top-level query fails. The exact semantics
is defined by Transaction Logic [6].
Backtrackable key-value pairs are kept in the same database as
non-backtrackable pairs and are queried through the same predicate
keypair_find/2.