anchor.diff:  start_activity_with_token(Node, ActivityToken, Name, Quorum, Body, Opts) ->
       {ok, Async} = async:get_identity(),
   
  +    FinalOpts = merge_options(Opts, ActivityToken#activity_token.options),
       check_activity_body(Node, Body),
  -    call_wait_for_quorum(Node, ActivityToken, Quorum, Opts,
  +    call_wait_for_quorum(Node, ActivityToken, Quorum, FinalOpts,
                            start_activity, [Async, Name, Body]).
   
   start_activity_bypass(Node, _Domain, _Name, _Quorum, Body, _Opts) ->
  
positive.code:   when is_function(Body, 0) ->
      Body().
  
  make_activity_token(Domain, DomainToken, Name, State) ->
      {LeaseNode, _LeaseUUID} = Lease = State#state.local_lease_holder,
      true = (LeaseNode =:= node()),
  
      #activity_token{lease        = Lease,
                      domain_token = DomainToken,
                      domain       = Domain,
                      name         = Name}.
  
  make_fresh_activity_token(Domain) ->
      make_fresh_activity_token(Domain, undefined).
  
negative.code: handle_start_activity(Async,
                        Domain,
                        DomainToken, Name, Quorum, Opts, Body, From, State) ->
      ActivityToken = make_activity_token(Domain, DomainToken, Name, Opts, State),
      check_no_domain_conflicts(
        ActivityToken, From, State,
        fun () ->
  