anchor.diff:      %% order dependent.  The serialized version is canonical, though.
       ?assertEqual(?TEST_MODULE:serialize_poi(PoIExpect),
                    ?TEST_MODULE:serialize_poi(PoIExpr)).
  +
  +assert_not_equal_poi(PoIExpect, PoIExpr) ->
  +    %% The deserialized poi contains a gb_tree, so it is operation
  +    %% order dependent.  The serialized version is canonical, though.
  +    ?assertNotEqual(?TEST_MODULE:serialize_poi(PoIExpect),
  +                    ?TEST_MODULE:serialize_poi(PoIExpr)).
   
   check_poi_for_one_contract(Contract, ChangeContractFun) ->
       ContractKeyF = fun(C) -> aect_contracts:id(C) end,
  
positive.code:     ObjKey = ObjKeyFun(Obj1), %% Hardcoded expectation on function changing object.
      ?assertMatch({error, _},
                   aec_trees:verify_poi(SubTree, ObjKey, Obj1, Poi11)),
      ok.
  
  make_contract(Owner) ->
  
negative.code:       ContractKeyF, ChangeContractFun,
        InsertContractF,
        Contract).
  
  check_poi_for_a_contract_among_others(Contract, OtherContracts) ->
      ContractKeyF = fun(C) -> aect_contracts:id(C) end,
      InsertContractF =
          fun(Ts, C) ->
                  Cs = aec_trees:contracts(Ts),
                  aec_trees:set_contracts(
                    Ts, aect_state_tree:insert_contract(C, Cs))
          end,
  
      check_poi_for_an_object_among_others(
        contracts,
        ContractKeyF,
        InsertContractF,
        Contract, OtherContracts).
  
  check_poi_for_one_object(SubTree,
                           ObjKeyFun, ChangeObjFun,
  