anchor.diff:      {create_struct, method(), SenderI::intervals:interval()} | % from initiator
       {start_recon, bloom, #bloom_recon_struct{}} | % to initiator
       {start_recon, merkle_tree, #merkle_params{}} | % to initiator
  -    {start_recon, art, art:art()}. % to initiator
  +    {start_recon, art, #art_recon_struct{}}. % to initiator
   
   -type message() ::
       % API
  
positive.code:             #merkle_params{interval = MySyncI, reconPid = DestReconPid} = Params,
              fd:subscribe(DestReconPid);
          art ->
              MySyncI = art:get_interval(Params),
              DestReconPid = undefined
      end,
      % client only sends non-empty sync intervals or exits
  
negative.code:                  true -> RMethod
                end,
      {BuildTime, SyncStruct} =
          util:tc(fun() -> build_recon_struct(ToBuild, OldSyncStruct, DestI, DBList, Params) end),
      Stats1 = rr_recon_stats:inc([{build_time, BuildTime}], Stats),
      NewState = State#rr_recon_state{struct = SyncStruct, stats = Stats1},
      EmptyRest = intervals:is_empty(RestI),
  