debug_assert
s,(A) [-B-> (C)]{2,-} (D)
(A) [-B-> (C)]{1,-} (C) [-B-> (C)]{1,-}
(D)
(A) [-B-> (C)]{2,-} (D)
() -->{1,-} () --> (A)
-B->{1,-} ()
() -->{1,-} ()
(A) -B->{1,-} (C)
(A) -B->{1,7} (C)
(A) [-B-> (M)]{1,-} (C)
... --> (A)
[-B-> (M)]{1,-} (C)
(A) -B->{3,-} (C)
PAIRS ()-->()-->()-->()--> ...