anchor.diff:  -spec gc_set_bpqueue(gc_state(), [bp_msg()]) -> gc_state().
   gc_set_bpqueue(State, Val) ->   setelement(?BP_QUEUE, State, Val).
   -spec gc_bpstepped(gc_state()) -> boolean().
  -gc_bpstepped(State) ->          element(?BP_STEPPED, State).
  +gc_bpstepped(State) -> element(?BP_STEPPED, State).
   -spec gc_set_bpstepped(gc_state(), boolean()) -> gc_state().
   gc_set_bpstepped(State, Val) -> setelement(?BP_STEPPED, State, Val).
   -spec gc_bpstepper(gc_state()) -> pid() | 'unknown'.
   gc_bpstepper(State) ->          element(?BP_STEPPER, State).
   -spec gc_set_bpstepper(gc_state(), pid() | 'unknown') -> gc_state().
   gc_set_bpstepper(State, Val) -> setelement(?BP_STEPPER, State, Val).
  -%% users state
  --spec gc_ustate(gc_state()) -> user_state().
  -gc_ustate(State) ->             element(?USTATE, State).
  --spec gc_set_ustate(gc_state(), user_state()) -> gc_state().
  -gc_set_ustate(State, Val) ->    setelement(?USTATE, State, Val).
   
   -spec gc_bp_hold_back(gc_state(), bp_msg()) -> gc_state().
   gc_bp_hold_back(State, Msg) ->
  
positive.code:             end
          end
          orelse
          bp_active(Msg, gc_set_bps(State, RemainingBPs)).
  
  -spec wait_for_bp_leave(comm:message(), gc_state(), boolean()) -> gc_state().
  wait_for_bp_leave(_Msg, State, _BP_Active = false) -> State;
  
negative.code:                     [self(), Module, Handler]),
              ok;
          {'$gen_component', [{post_op, Msg1}], NewUState} ->
              on_post_op(Msg1, NewUState, T1GCState);
          {'$gen_component', Commands, NewUState} ->
              %% This is not counted as a bp_step
              case lists:keyfind(on_handler, 1, Commands) of
                  {on_handler, NewHandler} ->
                      loop(NewUState, gc_set_hand(T1GCState, NewHandler));
                  false ->
                      case lists:keyfind(post_op, 1, Commands) of
                          {post_op, Msg1} ->
                              on_post_op(Msg1, NewUState, T1GCState);
                          false ->
                              %% let's fail since the Config list was either
                              %% empty or contained an invalid entry
  