anchor.diff:  
   tokenize(Line, [$0,B,H|T], Tokens) when (B == $b orelse B == $B), ?is_bin(H) ->
     { Rest, Number } = tokenize_bin([H|T], []),
  -  tokenize(Line, Rest, [{number,Line,Number}|Tokens]);
  -
  -tokenize(Line, [H|_] = String, Tokens) when ?is_digit(H) ->
  -  { Rest, Number } = tokenize_number(String, [], false),
     tokenize(Line, Rest, [{number,Line,Number}|Tokens]);
   
   % Comments
  
positive.code:     Else -> Else
    end;
  
  % Dot operators
  
  % ## Containers
  tokenize(Line, ".<<>>" ++ Rest, Tokens) ->
    tokenize(Line, Rest, [tokenize_call_identifier(identifier, Line, '<<>>', Rest),{'.',Line}|Tokens]);
  
  tokenize(Line, [$.,T1,T2|Rest], Tokens) when ?container2(T1, T2) ->
    tokenize(Line, Rest, [tokenize_call_identifier(identifier, Line, list_to_atom([T1,T2]), Rest),{'.',Line}|Tokens]);
  
  % ## Three Token Operators
  tokenize(Line, [$.,T1,T2,T3|Rest], Tokens) when ?comp3(T1, T2, T3) ->
    tokenize(Line, Rest, [tokenize_call_identifier(identifier, Line, list_to_atom([T1,T2,T3]), Rest),{'.',Line}|Tokens]);
  
  % ## Two Token Operators
  tokenize(Line, [$.,T1,T2|Rest], Tokens) when ?comp2(T1, T2); ?op2(T1, T2) ->
    tokenize(Line, Rest, [tokenize_call_identifier(identifier, Line, list_to_atom([T1,T2]), Rest),{'.',Line}|Tokens]);
  
  % ## Single Token Operators
  tokenize(Line, [$.,T|Rest], Tokens) when ?comp1(T); ?op1(T); T == $& ->
    tokenize(Line, Rest, [tokenize_call_identifier(identifier, Line, list_to_atom([T]), Rest),{'.',Line}|Tokens]);
  
  % Heredocs
  
  tokenize(Line, [H,H,H|T], Tokens) when ?is_quote(H) ->
    case extract_heredoc_with_interpolation(Line, true, T, H) of
      { error, _ } = Error ->
        Error;
  
negative.code: tokenize(Line, "..." ++ Rest, Tokens) ->
    tokenize(Line, Rest, [tokenize_call_identifier(identifier, Line, '...', Rest)|Tokens]);
  
  % Dot operators
  
  % ## Containers
  tokenize(Line, ".<<>>" ++ Rest, Tokens) ->
    tokenize(Line, Rest, [tokenize_call_identifier(identifier, Line, '<<>>', Rest),{'.',Line}|Tokens]);
  
  tokenize(Line, [$.,T1,T2|Rest], Tokens) when ?container2(T1, T2) ->
    tokenize(Line, Rest, [tokenize_call_identifier(identifier, Line, list_to_atom([T1,T2]), Rest),{'.',Line}|Tokens]);
  
  % ## Three Token Operators
  tokenize(Line, [$.,T1,T2,T3|Rest], Tokens) when ?comp3(T1, T2, T3) ->
    tokenize(Line, Rest, [tokenize_call_identifier(identifier, Line, list_to_atom([T1,T2,T3]), Rest),{'.',Line}|Tokens]);
  
  % ## Two Token Operators
  tokenize(Line, [$.,T1,T2|Rest], Tokens) when ?comp2(T1, T2); ?op2(T1, T2) ->
    tokenize(Line, Rest, [tokenize_call_identifier(identifier, Line, list_to_atom([T1,T2]), Rest),{'.',Line}|Tokens]);
  
  % ## Single Token Operators
  tokenize(Line, [$.,T|Rest], Tokens) when ?comp1(T); ?op1(T); T == $& ->
    tokenize(Line, Rest, [tokenize_call_identifier(identifier, Line, list_to_atom([T]), Rest),{'.',Line}|Tokens]);
  
  % Dot call
  
  % ## Exception for .( as it needs to be treated specially in the parser
  