anchor.diff:      Id = make_unique(),
       {reply, Id, State};
   
  -handle_call(number, _From, #state{is_fixed=false} = State) ->
  -    Number = crypto:rand_uniform(1,1000000000), 
  -    {reply, Number, State};
  -
   handle_call({number, Max}, _From, #state{is_fixed=false} = State) ->
       Number = crypto:rand_uniform(1, Max+1),
       {reply, Number, State};
  
positive.code: handle_call(unique, _From, #state{is_fixed=true, unique_counter=N} = State) ->
      Id = make_unique_fixed(N),
      {reply, Id, State#state{unique_counter=N+1}};
  
  handle_call(number, _From, #state{is_fixed=true} = State) ->
      Number = random:uniform(1000000000), 
      {reply, Number, State};
  
  handle_call({number, Max}, _From, #state{is_fixed=true} = State) ->
      Number = random:uniform(Max),
  
negative.code: 
  %% @doc Return a big random integer, but smaller than maxint32
  number() ->
      number(1000000000).
  
  number(Max) ->
      gen_server:call(?MODULE, {number, Max}).
  