anchor.diff:  %% ----- SNAPSHOT INTERFACE ------------------------------------------------
   
   % backup existing snapshot
  +-spec(
  +    zip(all | {re, string()} | {files, [string()]}) ->
  +        ok | string()
  +).
   zip(all) -> zip({re, "*"++?BKP_EXTN});
   zip({re, MatchPattern}) ->
       {_, SnapDir} = application:get_env(imem, imem_snapshot_dir),
  
positive.code: 
  % snapshot restore_as interface
  %  - periodic snapshoting timer is paused during a restore operation
  restore_as(Op, SrcTab, DstTab, Strategy, Simulate) when is_atom(SrcTab) ->
      restore_as(Op, atom_to_list(SrcTab), DstTab, Strategy, Simulate);
  restore_as(Op, SrcTab, DstTab, Strategy, Simulate) when is_atom(DstTab) ->
  
negative.code:     end),
      read_chunk(Tab, SnapFile, FHndl, Strategy, Simulate, {NewI, NewE, NewA}).
  
  -spec(all_snap_tables() -> list()).
  all_snap_tables() ->
      lists:filter(fun(T) ->
              	    imem_meta:is_readable_table(T)
                      andalso not imem_meta:is_local_time_partitioned_table(T)
                  end, imem_meta:all_tables()).
  
  -spec(all_local_time_partitioned_tables() -> list()).
  all_local_time_partitioned_tables() ->
      lists:filter(fun(T) ->
                      imem_meta:is_readable_table(T)
  