anchor.diff:  -module(lmq_queue_server).
   -behaviour(gen_server).
  --compile(export_all).
  +-export([start_link/0, push/1, pull/0, complete/1, alive/1, return/1, stop/0]).
  +-export([init/1, handle_call/3, handle_cast/2, handle_info/2, code_change/3, terminate/2]).
  +-export([test/0]).
   
   -include("lmq.hrl").
   -record(state, {refs=gb_sets:empty(), queue=queue:new()}).
   
  -start() ->
  +start_link() ->
       gen_server:start_link({local, ?MODULE}, ?MODULE, [], []).
  -
  -stop() ->
  -    gen_server:call(?MODULE, stop).
   
   push(Data) ->
       gen_server:call(?MODULE, {push, Data}).
  
positive.code: 
  return(UUID) ->
      gen_server:call(?MODULE, {return, UUID}).
  
  init([]) ->
      lmq_queue:start(),
  
negative.code:     end.
  
  test() ->
      lmq_queue_server:start_link(),
      ok = lmq_queue_server:push("foo"),
      M1 = lmq_queue_server:pull(),
      {_, UUID1} = M1#message.id,
  