anchor.diff:  %% 
   %% == client_request/4 ==
   %% <pre>
  -%% Module:client_request( Client :: pid(), Id :: any(), Request :: json(),
  -%%     Info :: any()) -> callback_return() ).
  -%%
  -%%     Client :: process of the client connection.  Responses and events
  +%% Module:client_request( ClientInfo :: #client_info{}, Id :: any(), Request :: json(),
  +%%     Info :: any()) -> callback_return().
  +%%
  +%%     ClientInfo :: the client connection's info record.  Responses and events
   %%         can be sent to this process directly.
   %%     Id :: An opaque data type used for sending a response.
   %%     Request :: The json request payload.
  
positive.code: %%
  %% == client_event/3 ==
  %% <pre>
  %% Module:client_event( Client :: pid(), Event :: json(), Info() ) ->
  %%     callback_return() ).
  %%
  %%     Client :: Process of the client connection.  New requests or events
  %%         can be sent to the process directly.
  %%     Event :: The payload for the event.
  %%     Info :: The internal state of the callbakc channel.
  %%         callback_return() can update this.
  
negative.code: %%
  %% == client_response/4 ==
  %% <pre>
  %% Module:client_response( ClientInfo :: #client_info{}, Id :: any(), Response :: json(),
  %%     Info :: any() ) -> callback_return().
  %%
  %%     ClientInfo :: the client connection's info record.  New requests can be
  %%         sent to the process directly.
  %%     Id :: An opaque data type indication which request this response is
  %%         for.  It is up to the callback module to keep track of the
  