anchor.diff:  -type norm_opts() ::
       #{
           space => allowed | skip | integer(),
  -        underscore => allowed | skip | integer(),
  +        % underscore => allowed | skip | integer(),
           unrecognized => skip | integer(),
           allowed => [integer()]
       }.
  
positive.code: %% @doc Normalizes a value into a lower-case, using only a-z, 0-9 and spaces
  %% All other values are converted into these if possible (Ä->a, é->e, etc.)
  %% Utf8 and Latin-1 encodings are supported
  %% Unrecognized values are converted into '#'
  %% See Options
  -spec normalize(string()|binary()) ->
      binary().
  
negative.code:             norm(T, Opts, [Char|Acc])
      end;
  
  %%norm([$_|T], Opts, Acc) ->
  %%    case maps:get(underscore, Opts, $-) of
  %%        allowed ->
  %%            norm(T, Opts, [$_|Acc]);
  %%        skip ->
  %%            norm(T, Opts, Acc);
  %%        Char when is_integer(Char) ->
  %%            norm(T, Opts, [Char|Acc])
  %%    end;
  
  norm([H|T], Opts, Acc) when H >= $0, H =< $9 ->
      norm(T, Opts, [H|Acc]);
  