anchor.diff:      throw({invalid_spec, Type}).
   
   
  +%% @private
  +do_parse_config_list([], _Type, Acc) ->
  +    {ok, lists:reverse(Acc)};
  +
  +do_parse_config_list([Term|Rest], Type, Acc) ->
  +    case do_parse_config(Type, Term) of
  +        {ok, Val} ->
  +            do_parse_config_list(Rest, Type, [Val|Acc]);
  +        error ->
  +            error
  +    end.
  +
  +        
  +
   %% ===================================================================
   %% EUnit tests
   %% ===================================================================
  
positive.code: 
  % -compile([export_all]).
  % -define(TEST, 1).
  -ifdef(TEST).
  -include_lib("eunit/include/eunit.hrl").
  
  
negative.code: 
  -compile({no_auto_import, [get/1, put/2]}).
  
  -type opt() ::
      any | atom | boolean | {enum, [atom()]} | list | pid | proc |
      integer | pos_integer | nat_integer | {integer, none|integer(), none|integer()} |
      {integer, [integer()]} | {record, atom()} |
      string | binary | lower | upper |
      ip | host | host6 | {function, pos_integer()} |
      unquote | path | uris | tokens | map() | list() |
      fun((atom(), term(), [{atom(), term()}]) -> 
              ok | {ok, term()} | {opts, [{atom(), term()}]} | error).
  
  -type parse_opt() ::
      opt() | {list, opt()}.
  
  -type parse_spec() :: #{ atom() => parse_opt()}.
  
  