anchor.diff:  cmac() ->
        [{doc, "Test all different cmac functions"}].
   cmac(Config) when is_list(Config) ->
  -    Pairs = proplists:get_value(cmac, Config),
  +    Pairs = lazy_eval(proplists:get_value(cmac, Config)),
       lists:foreach(fun cmac_check/1, Pairs),
       lists:foreach(fun cmac_check/1, cmac_iolistify(Pairs)).
   %%--------------------------------------------------------------------
  
positive.code: datadir(Config) ->
      proplists:get_value(data_dir, Config).
  
  read_rsp(Config, Type, Files) ->
      lists:reverse(
        lists:foldl(
          fun(FileName, AccIn) ->
                  AccOut = read_rsp_file(filename:join(datadir(Config), FileName),
                                         Type, AccIn),
                  erlang:garbage_collect(),
                  AccOut
          end, [], Files)).
  
  read_rsp_file(FileName, Type, Acc) ->
      {ok, Raw} = file:read_file(FileName),
  
negative.code:     Stream = aes_ctr(),
      [{stream, Stream} | Config];
  group_config(aes_gcm, Config) ->
      AEAD = fun() -> aes_gcm(Config) end,
      [{aead, AEAD} | Config];
  group_config(chacha20_poly1305, Config) ->
      AEAD = chacha20_poly1305(),
  