anchor.diff:  			({_, _}) ->
   				false
   	end,
  -	{Price2, B2} = case lists:partition(F, maps:to_list(Reservations1)) of
  +	{Price2, B2, FBAcc2} = case lists:partition(F, maps:to_list(Reservations1)) of
   		{[{_, #{debit := DebitedAmount, reserve := ReservedAmount}}], Reservations2}
   				when R >= Price1 ->
   			NewReservations = [{SessionId, #{ts => Now,
  
positive.code: 			NewReserveUnits = Ramount - UnitsReserved,
  			{UnitReserve, PriceReserve} = price_units(NewReserveUnits,
  					UnitSize, UnitPrice),
  			case convert(PriceReserve, Units, UnitReserve,
  					ServiceId, ChargingKey, SessionId, Buckets2) of
  				{ok, Buckets3} ->
  					{0, NewReserveUnits, Buckets4} = update_session(Units,
  
negative.code: 			PriceReserveUnits = (Amount - UnitsReserved),
  			{UnitReserve, PriceReserve} = price_units(PriceReserveUnits,
  					UnitSize, UnitPrice),
  			case convert(PriceReserve, Units, UnitPrice, UnitSize, UnitReserve,
  					ServiceId, ChargingKey, SessionId, Buckets2) of
  				{ok, Buckets3} ->
  					{0, UnitReserve, Buckets4} = update_session(Units, 0,
  