anchor.diff:    when C == call;
          C == cast ->
       ?dbg("control(~p)~n", [Req]),
  -    {send, bert:to_binary(Req), St}.
  +    {send, bert:to_binary(Req), St};
  +control(_Socket, close = Req, _From, #state{} = St)  ->
  +    ?dbg("control(~p)~n", [Req]),
  +    {stop, ok, normal, St}.
   
   %%--------------------------------------------------------------------
   %% @doc
  
positive.code:     case lists:keyfind(K, 1, Opts) of
  	{_, V} -> [convert_type(TypeConv, V) | convert_args(T, Opts)];
  	false  -> [Default | convert_args(T, Opts)]
      end;
  convert_args([], _) ->
      [].
  
negative.code:     false.
  
  
  availability_check(M,F,Arity, Conv, false) ->
      {ok, {M,F,Arity}, Conv};
  availability_check(M,F,Arity, Conv, true) ->
      case code:ensure_loaded(M) of
  	false ->
  	    {error, ?SERV_ERR_NO_SUCH_MODULE, <<"module not defined">>};
  	{error,nofile} ->
  	    {error, ?SERV_ERR_NO_SUCH_MODULE, <<"module not found">>};
  	{module,M} ->
  	    case erlang:function_exported(M,F,Arity) of
  		false ->
  		    case erlang:is_builtin(M,F,Arity) of
  			true ->
  			    {ok, {M,F,Arity}, Conv};
  			false ->
  			    {error, ?SERV_ERR_NO_SUCH_FUNCTION,
  			     <<"function not defined">>}
  		    end;
  		true ->
  		    {ok, {M,F,Arity}, Conv}
  	    end
      end.
  
  
  convert_args(keep, As) -> As;
  convert_args([{args,Args}|T], [Opts|Opts1]) ->
      convert_args(Args, Opts) ++ convert_args(T, Opts1);
  convert_args([{opt,K,Default}|T], Opts) ->
  