anchor.diff:    xmerlrpc_xml:result(Result, []).
   
   %% @doc Create XML-RPC exception document.
  +%% @see xmerlrpc_xml:exception/3
   %%
   %% @TODO
   %%   Allow `Message' to be iolist().
  
positive.code: 
  %%% }}}
  %%%---------------------------------------------------------------------------
  %%% request routing and dispatching {{{
  
  % calls route() and then apply() on a request
  %dispatch() ->
  
negative.code: %%   | {ok, exception, Message :: any()}
  %%   | {error, Reason}
  
  parse(XMLDocument, _Opts) ->
    % TODO: pass options
    xmerlrpc_xml:parse(XMLDocument, []).
  
  %% @doc Parse XML message to request.
  %% @see xmerlrpc_xml:parse_request/2
  %%
  %% @spec parse_request(binary() | string(), Opts) ->
  %%     {ok, request, Request :: any()}
  %%   | {error, Reason}
  
  parse_request(XMLDocument, _Opts) ->
    % TODO: pass options
    xmerlrpc_xml:parse_request(XMLDocument, []).
  
  %% @doc Parse XML message to result or exception.
  %% @see xmerlrpc_xml:parse_response/2
  %%
  %% @spec parse_response(binary() | string(), Opts) ->
  %%     {ok, result,    Result  :: any()}
  %%   | {ok, exception, Message :: any()}
  %%   | {error, Reason}
  
  parse_response(XMLDocument, _Opts) ->
    % TODO: pass options
    xmerlrpc_xml:parse_response(XMLDocument, []).
  
  %%% }}}
  %%%---------------------------------------------------------
  
  %%% }}}
  %%%---------------------------------------------------------------------------
  %%% HTTP request/response creation (TODO) {{{
  
  %http_request() ->
  %  'TODO'.
  