anchor.diff:    Opt =
     libats2erl_session_chque_remove(Chq1),
     case Opt of
  -    {chque_close} -> %% terminated
  -      libats2erl_session_chque_close(Chq0),
  -      {chque_close} =
  -      libats2erl_session_chque_remove(Chq0),
  -      Client ! {self()};
  +    {chque_close} -> %% Chq1 terminated
  +      Client ! {self()},
  +      libats2erl_session_chque_close(Chq0);
       {chque_insert, X} ->
         Client ! {self(), X},
         libats2erl_session_chanpos_server(Chq0, Chq1);
  
positive.code:   receive
      {_, channeg_close} ->
        %% Asynchronous
        libats2erl_session_chque_close(Chq1);
      {_, channeg_recv, X} ->
        %% Asynchronous
        libats2erl_session_chque_insert(Chq1, X),
  
negative.code:   Chque ! {self(), chque_remove},
    receive {Chque, Opt} -> Opt end.
  %%
  libats2erl_session_chque_remove_close
    (Chque) ->
    Chque ! {self(), chque_remove},
    receive
      {Chque, Opt} ->
      case Opt of
        {chque_close} -> atscc2erl_void;
        {chque_qinsert, Chque2} -> libats2erl_session_chque_remove_close(Chque2)
      end
    end.
  %%
  libats2erl_session_chque_close
    (Chque) -> Chque ! {self(), chque_close}.
  libats2erl_session_chque_insert
  