anchor.diff:  %%%------------------------------------------------------------------   
   
   %%
  -%% start pipe stage / pipe state machine
  --spec(start/3 :: (atom(), list(), list()) -> {ok, pid()} | {error, any()}).
  +%% start pipe state machine, the function takes behavior module,
  +%% list of arguments to pipe init functions and list of container options.
  +-spec(start/3 :: (atom(), [_], [_]) -> {ok, pid()} | {error, any()}).
   -spec(start/4 :: (atom(), atom(), list(), list()) -> {ok, pid()} | {error, any()}).
   -spec(start_link/3 :: (atom(), list(), list()) -> {ok, pid()} | {error, any()}).
   -spec(start_link/4 :: (atom(), atom(), list(), list()) -> {ok, pid()} | {error, any()}).
  
positive.code:    end;
  
  monitor(node, Node) ->
     monitor_node(Node, true),
     {node, erlang:make_ref(), Node}.
   
  %%
  
negative.code: 
  
  %%
  %% make synchronous request to pipe.
  %% the caller process is blocked until response is received.
  -spec(call/2 :: (pid(), _) -> _).
  -spec(call/3 :: (pid(), _, timeout()) -> _).
  
  call(Pid, Msg) ->
     call(Pid, Msg, ?CONFIG_TIMEOUT).
  