anchor.diff:      nospaces_list(Rest, [C|Acc]).
   
   nospaces_bin(<<>>, Acc) ->
  -	Acc;
  +    Acc;
   nospaces_bin(<<C,Rest/binary>>, Acc) when C =< 32 ->
  -	nospaces_bin(Rest, Acc);
  +    nospaces_bin(Rest, Acc);
   nospaces_bin(<<C,Rest/binary>>, Acc) ->
  -	nospaces_bin(Rest, <<Acc/binary,C>>).
  +    nospaces_bin(Rest, <<Acc/binary,C>>).
   
   
   %% @doc Make sure that the string is on one line only, replace control characters with spaces
   line(B) when is_binary(B) ->
  -    line(binary_to_list(B));
  -line(L) ->
  -    line1(L, []).
  -    
  -    line1([], Acc) ->
  -        lists:reverse(Acc);
  -    line1([H|T], Acc) when H < 32 ->
  -        line1(T, [32|Acc]);
  -    line1([H|T], Acc) ->
  -        line1(T, [H|Acc]).
  +    << <<(if C < 32 -> 32; true -> C end)>> || <<C>> <= B >>;
  +line(L) when is_list(L) ->
  +    [ if C < 32 -> 32; true -> C end || C <- L ].
  +
  +-spec len(binary()|string()|undefined) -> integer().
  +len(undefined) -> 0;
  +len(L) when is_list(L) -> erlang:length(L);
  +len(B) when is_binary(B) -> len(B, 0).
  +
  +len(<<>>, N) -> N;
  +len(<<_C/utf8, B/binary>>, N) -> len(B, N+1);
  +len(<<_C, B/binary>>, N) -> len(B, N+1).
   
   
   %% @doc Return a lowercase string for the input
  
positive.code: to_lower(B) when is_binary(B) ->
      to_lower(B,<<>>);
  to_lower(undefined) ->
  	<<>>;
  to_lower(A) when is_atom(A) ->
      to_lower(z_convert:to_binary(A));
  to_lower(L) when is_list(L) ->
      to_lower(iolist_to_binary(L)).
  
  to_lower(<<>>, Acc) ->
  	Acc;
  to_lower(<<H,T/binary>>, Acc) when H >= $A andalso H =< $Z ->
  	H1 = H + 32,
  	to_lower(T,<<Acc/binary,H1>>); 
  to_lower(<<H,T/binary>>, Acc) when H < 128 ->
  	to_lower(T,<<Acc/binary,H>>); 
  to_lower(<<"Å"/utf8,T/binary>>, Acc) -> to_lower(T, <<Acc/binary,195,165>>);
  to_lower(<<"Ä"/utf8,T/binary>>, Acc) -> to_lower(T, <<Acc/binary,195,164>>);
  to_lower(<<"Á"/utf8,T/binary>>, Acc) -> to_lower(T, <<Acc/binary,195,161>>);
  
negative.code:     trim_left_func(S, fun(C) -> C == Char end).
  
  
  trim_left_func(<<Char/utf8, Rest/binary>> = Bin, F) ->
      case F(Char) of
          true -> trim_left_func(Rest, F);
          false -> Bin
  