anchor.diff:  
   inc() ->
       crypto:rand_uniform(1, 16#ffe).
  +
  +state() ->
  +    AlgoStr = couch_config:get("uuids", "algorithm", "random"),
  +    case couch_util:to_existing_atom(AlgoStr) of
  +        random ->
  +            random;
  +        utc_random ->
  +            utc_random;
  +        sequential ->
  +            {sequential, new_prefix(), inc()};
  +        Unknown ->
  +            throw({unknown_uuid_algorithm, Unknown})
  +    end.
  
positive.code:             {reply, Result, {sequential, Pref, Seq + inc()}}
      end.
  
  handle_cast(stop, State) ->
      {stop, normal, State};
  handle_cast(_Msg, State) ->
  
negative.code:     list_to_binary(Prefix ++ couch_util:to_hex(crypto:rand_bytes(9))).
  
  init([]) ->
      ok = couch_config:register(
          fun("uuids", _) -> gen_server:cast(?MODULE, change) end
      ),
      {ok, state()}.
  
  terminate(_Reason, _State) ->
      ok.
  