anchor.diff:  
   
   %% @doc Parses all URIs found in `Term'.
  --spec uris(Term :: nksip:user_uri() | [nksip:user_uri()]) -> 
  +-spec ruris(Term :: nksip:user_uri() | [nksip:user_uri()]) -> 
       [nksip:uri()] | error.
                   
   uris([]) -> [];
  
positive.code: uris(List) when is_list(List) -> parse_uris(List, []);
  uris(Term) -> uris([Term]).
  
  
  %% @doc Extracts all `via()' found in `Term'
  -spec vias(Term :: binary() | string() | [binary() | string()]) -> 
  
negative.code: 
  
  %% @private
  -spec parse_ruris([#uri{}], [#uri{}]) ->
      [#uri{}] | error.
  
  parse_ruris([], Acc) ->
      lists:reverse(Acc);
  
  parse_ruris([#uri{opts=[], headers=[], ext_opts=Opts}=Uri|Rest], Acc) ->
      parse_uris(Rest, [Uri#uri{opts=Opts, ext_opts=[], ext_headers=[]}|Acc]);
  
  parse_ruris(_, _) ->
      error.
  
  
  
  %% @private
  -spec parse_vias([#via{}|binary()|string()], [#via{}]) ->
      [#via{}] | error.
  
  