anchor.diff:          lists:foldl(fun(default, OptsAcc) ->
                               OptsAcc;
                          (Profile, OptsAcc) ->
  -                            ProfileOpts = dict:from_list(proplists:get_value(Profile, ConfigProfiles, [])),
  -                            merge_opts(Profile, ProfileOpts, OptsAcc)
  +                            case proplists:get_value(Profile, ConfigProfiles, []) of
  +                                OptsList when is_list(OptsList) ->
  +                                    ProfileOpts = dict:from_list(OptsList),
  +                                    merge_opts(Profile, ProfileOpts, OptsAcc);
  +                                Other ->
  +                                    throw(?PRV_ERROR({profile_not_list, Profile, Other}))
  +                            end
                       end, Defaults, AppliedProfiles),
       State#state_t{current_profiles = AppliedProfiles, opts=NewOpts}.
   
  
positive.code: default(State, Opts) ->
      State#state_t{default=Opts}.
  
  -spec has_all_artifacts(rebar_app_info:t()) -> true | providers:error().
  has_all_artifacts(State) ->
      Artifacts = rebar_state:get(State, artifacts, []),
  
negative.code: -export([new/0, new/1, new/2, new/3,
  
           get/2, get/3, set/3,
  
           format_error/1,
  
           has_all_artifacts/1,
  
  