anchor.diff:  rate5(#service{enabled = false} = Service, Buckets1,
   		#price{units = Units, size = UnitSize, amount = UnitPrice},
   		interim, DebitAmount, _ReserveAmount,
  -		#{session_id := SessionId} = State) ->
  +		#state{session_id = SessionId} = State) ->
   	case update_session(Units, DebitAmount, 0, SessionId, Buckets1) of
   		{DebitAmount, 0, Buckets2} ->
   			rate6(Service, Buckets2, interim,
  
positive.code: 		Flag, DebitAmounts, ReserveAmounts, State) ->
  	rate2(Protocol, Service, Buckets, Timestamp, Address,
  		Direction, Offer, Flag, DebitAmounts, ReserveAmounts,
  		State#{rated => #rated{product = OfferName}}).
  %% @hidden
  rate2(Protocol, Service, Buckets, Timestamp, Address,
  		Direction, #offer{specification = ProdSpec, price = Prices},
  
negative.code: 	{ok, Service2, 0, Rated1};
  rate6(#service{session_attributes = SessionList} =
  		Service1, Buckets, final, _Charge, _Charged, 0, 0,
  		#state{rated = Rated, product = P, session_id = SessionId,
  		buckets = OldBuckets}) ->
  	NewBuckets1 = refund(SessionId, Buckets),
  	{Seconds, Octets, Cents, Msgs, NewBuckets2} = get_debits(SessionId, NewBuckets1),
  	NewBRefs = update_buckets(P#product.balance, OldBuckets, NewBuckets2),
  