anchor.diff:              exit(Reason);
           {'$async_req', From, get_result} ->
               handle_get_result(From, Result);
  -        {'$async_req', From, {initiate_adoption, Controller, Executor}} ->
  -            handle_initiate_adoption(Controller, Executor, From),
  +        {'$async_req', From, {initiate_adoption, Controller}} ->
  +            handle_initiate_adoption(Controller, From),
               async_loop_with_result(Result);
           {'$async_req', From, {register_child_async, _Pid}} ->
               %% We don't expect register requests at this point, but it's
  
positive.code: get_controller() ->
      erlang:get('$async_controller').
  
  handle_initiate_adoption(Controller, Executor, From) ->
      register_with_async(Controller),
      erlang:monitor(process, Executor),
      reply(From, ok).
  
  
negative.code: 
  adopt(Child) ->
      executor = get_role(),
      ok = call(Child, {initiate_adoption, get_controller()}).
  
  with(AsyncBody, Fun) ->
      Async = start(AsyncBody),
  