anchor.diff:  	subscription(Product, Now, true, NewBuckets, T);
   subscription(Product, Now, false, Buckets, [#price{type = one_time} | T]) ->
   	subscription(Product, Now, false, Buckets, T);
  -subscription(#product{name = ProdRef} = Product, Now, true, Buckets,
  +subscription(#product{id = ProdRef} = Product, Now, true, Buckets,
   		[#price{type = usage, alteration = #alteration{type = one_time,
   			units = Units, size = Size, amount = AlterationAmount}} | T]) ->
   	N = erlang:unique_integer([positive]),
  
positive.code: 			| NewBuckets1]),
  	Product1 = Product#product{payment = NewPayments},
  	subscription(Product1, Now, false, NewBuckets2, T);
  subscription(#product{name = ProdRef, payment = Payments} = Product, Now, true,
  		Buckets, [#price{type = usage, alteration = #alteration{type = recurring,
  		period = Period, units = Units, size = Size, amount = Amount}, name = Name}
  		| T]) when Period /= undefined, Units == octets; Units == seconds; Units == messages ->
  
negative.code: subscription(Product, Now, false, Buckets,
  		[#price{type = usage, alteration = #alteration{type = one_time}} | T]) ->
  	subscription(Product, Now, false, Buckets, T);
  subscription(#product{id = ProdRef, payment = Payments} = Product,
  		Now, true, Buckets, [#price{type = recurring, period = Period,
  		amount = Amount, name = Name, alteration = undefined} | T]) when
  		Period /= undefined ->
  