anchor.diff:  
   option_names() ->
       [
  +      default_tags,
         doc_version,
         io_blocksize,
         token_fun
  
positive.code: %% Tag resolution.
  %% -------------------------------------------------------------------
  
  setup_default_tags(Parser) ->
      Tags  = dict:new(),
      %% By default, "!" is resolved as "!" and the tag is considered
      %% local.
  
negative.code: check_options([]) ->
      ok.
  
  is_option_valid({default_tags, List}) when is_list(List) ->
      %% This fun() returns true for any invalid entries, to keep only
      %% those.
      Fun = fun
          ({{non_specific, A}, B}) ->
              not (io_lib:char_list(A) andalso io_lib:char_list(B));
          ({A, B}) ->
              not (io_lib:char_list(A) andalso io_lib:char_list(B));
          (_) ->
              true
      end,
      case lists:filter(Fun, List) of
          [] -> true;
          _  -> false
      end;
  is_option_valid({doc_version, {Major, Minor}}) when
    is_integer(Major) andalso Major >= 0 andalso
    is_integer(Minor) andalso Minor >= 0 ->
  