-callback iter(t(K, V), fun((K, V) -> ok)) ->
ok.
+%% TODO: Decide if validation is to be done. If yes - wrap in hope_result:t/1
-callback of_kv_list([{K, V}]) ->
t(K, V).
update(T, K, F) ->
V1Opt = get(T, K),
V2 = F(V1Opt),
+ % TODO: Eliminate the 2nd lookup.
set(T, K, V2).
iter(T, Map1) ->
T.
of_kv_list(List) ->
+ % TODO: Decide if validation is to be done here. Do so if yes.
List.
%% Common Test callbacks
%% ============================================================================
+%% TODO: Make tests generic for any dictionary.
+%% TODO: Each group shold test a type of dictionary against the generic cases.
+
all() ->
[{group, ?GROUP_KV_LIST}].