anchor.diff:              error
       end;
   
  -spec({atom_or_binary, List}, Val) ->
  +spec({atom, Atom}, Val) when is_atom(Atom) ->
  +    to_existing_atom(Val);
  +
  +spec({atom_or_binary, List}, Val) when is_list(List) ->
       case to_existing_atom(Val) of
           {ok, Atom} ->
               case lists:member(Atom, List) of
  
positive.code:             {ok, to_bin(Val)}
      end;
  
  %%% Luerl-style lists
  %%spec(list, [{1, _}|_]=Val) ->
  %%    lager:error("NKLOG VV0 ~p", [Val]),
  %%    spec(list, [V || {_, V} <- Val]);
  
negative.code:         error -> error
      end;
  
  spec({atom, List}, Val) when is_list(List) ->
      case to_existing_atom(Val) of
          {ok, Atom} ->
              case lists:member(Atom, List) of
  