anchor.diff:               end
            end || {T, F} <- [{eval_literal, fun eval_literal/1},
                              {add_and_subtract, fun add_and_subtract/1},
  -                           {pipelining, fun pipelining/1}
  +                           {pipelining, fun pipelining/1},
  +                           {def_functions, fun def_functions/1}
                             ]
           ],
       %% proper shutdown not yet implemented..
  
positive.code:             error
      end.
  
  get_operator(Op, C) ->
      Req = ecapnp:request(getOperator, C),
      ok = ecapnp:set(op, Op, Req),
  
negative.code:     Call = ecapnp:set(call, Expr),
      ok = ecapnp:set(function, Fun, Call),
      ecapnp:set(params, ParamCount, Call).
  
  req_value(Req) ->
      {ok, Promise} = ecapnp:send(Req),
      {ok, Value} = ecapnp:send(
                      ecapnp:request(
                        read, ecapnp:get(value, Promise)
                       )),
      Value.
  