anchor.diff:  %%  The radius public API
   %%----------------------------------------------------------------------
   
  --spec start(Module :: atom(), Port :: non_neg_integer()) ->
  -	{ok, Pid :: pid()}
  -		| {error, Reason :: already_present
  -		| {already_started, Pid :: pid()} | term()}.
  +-spec start(Module, Port) ->
  +		{ok, Pid} | {error, Reason}
  +	when
  +		Module :: atom(),
  +		Port :: non_neg_integer(),
  +		Pid :: pid(),
  +		Reason :: already_present | {already_started, Pid} | term().
   %% @doc Start a RADIUS protocol server using the callback module
   %% 	`Module' listening on `Port'.
   %%
  
positive.code: 	{ok, Address} = application:get_env(radius, address),
  	start(Module, Port, Address).
  
  -spec start(Module :: atom(), Port :: non_neg_integer(),
  		Address :: inet:ip_address()) ->
  	{ok, Pid :: pid()}
  		| {error, Reason :: already_present
  		| {already_started, Pid :: pid()} | term()}.
  %% @doc Start a RADIUS protocol server using the callback module
  %% 	`Module' listening on `Port' with address `Address'.
  %%
  
negative.code: 		is_integer(Port), is_tuple(Address) ->
  	supervisor:start_child(radius, [[Module, Port, Address]]).
  
  -spec start_link(Module, Port) ->
  		{ok, Pid} | {error, Reason}
  	when
  		Module :: atom(),
  		Port :: non_neg_integer(),
  		Pid :: pid(),
  		Reason :: already_present | {already_started, Pid} | term().
  %% @doc Start a RADIUS protocol server as part of a supervision tree
  %% 	 using the callback module `Module' listening on `Port'.
  %%
  