anchor.diff:          {Rs,Sn1,Cs1} -> {{seq,Rs},Sn1,Cs1}
       end.
   
  -re_seq1([C|_]=Cs0, Sn0, St) when C /= $|, C /= $) ->
  +re_seq1([C|_]=Cs0, Sn0, St) when C =/= $|, C =/= $) ->
       {L,Sn1,Cs1} = re_repeat(Cs0, Sn0, St),
       {Rs,Sn2,Cs2} = re_seq1(Cs1, Sn1, St),
       {[L|Rs],Sn2,Cs2};
  
positive.code:     %% List of all transition sets.
      Crs0 = [Cr || S <- Set,
                    {Crs,_St} <- (element(S, NFA))#nfa_state.edges,
                    Crs /= epsilon,        % Not an epsilon transition
                    Cr <- Crs ],
      Crs1 = lists:usort(Crs0),            % Must remove duplicates!
      %% Build list of disjoint test ranges.
  
negative.code:     %% io:fwrite("move1: ~p\n", [{Sts,Cr}]),
      [ St || N <- Sts,
              {Crs,St} <- (element(N, NFA))#nfa_state.edges,
              Crs =/= epsilon,             % Not an epsilon transition
              in_crs(Cr, Crs) ].
  
  in_crs({C1,C2}, [{C3,C4}|_Crs]) when C1 >= C3, C2 =< C4 -> true;
  