anchor.diff:  append({Count, MLL, Body, Msgs}, NewMsg) ->
       {NewMLL, NewBody} = append_to_binary(MLL, Body, NewMsg),
       NewState = {Count+1, NewMLL, NewBody, Msgs},
  -    Full = {next_state, full, NewState},
       case byte_size(NewMLL) + byte_size(NewBody) of
  -        X when X >= ?PARC_MAX_MEM -> Full;
  +        X when X >= ?PARC_MAX_MEM ->
  +            {next_state, full, NewState};
           _ -> case (Count + 1) of
  -            ?PARC_MAX_MSG -> Full;
  +            ?PARC_MAX_MSG -> {next_state, full, NewState};
               _ -> {next_state, ready, NewState}
           end
       end.
  
positive.code: concat({Count, MLL, Body, [Msg|More]}) ->
      {NewMLL, NewBody} = append_to_binary(MLL, Body, Msg),
      NewState = {Count+1, NewMLL, NewBody, More},
      Full = {next_state, full, NewState},
      case byte_size(NewMLL) + byte_size(NewBody) of
          X when X >= ?PARC_MAX_MEM -> Full;
          _ -> case (Count + 1) of
              ?PARC_MAX_MSG -> Full;
              _ -> concat(NewState)
          end
      end.
  
negative.code:             {next_state, empty, #state{}, 30000};
          _ ->
              gen_server:cast(Sluice, {sent, self()}),
              % The lastest message is on the head, so reverse the list before
              % packing.
              concat(#state{msgs = reverse(Msgs)})
      end;
  handle_event(_Event, StateName, State) ->
      {next_state, StateName, State}.
  