anchor.diff:    Cs = state__get_cs(Id, V2State#v2_state.state),
     save_updated_vars(Cs, U, V2State).
   
  -save_updated_vars1(V2State, C, U) ->
  -  #v2_state{constr_data = ConData} = V2State,
  -  #constraint_list{id = Id} = C,
  -  case maps:find(Id, ConData) of
  -    error -> V2State; % error means everything is flagged
  -    {ok, failed} -> V2State;
  -    {ok, {Part,U0}} ->
  +save_updated_vars1(#v2_state{constr_data = ConData0} = V2State,
  +                   #constraint_list{id = Id}, U) ->
  +  case ConData0 of
  +    #{ Id := {Part, U0} } ->
         %% Duplicates are not so common; let masks/2 remove them.
  -      U1 = U ++ U0,
  -      V2State#v2_state{constr_data = maps:put(Id, {Part,U1}, ConData)}
  +      ConData = ConData0#{ Id => {Part, U ++ U0}},
  +      V2State#v2_state{constr_data = ConData};
  +    #{} ->
  +      %% Everything is flagged
  +      V2State
     end.
   
   -ifdef(DEBUG).
  
positive.code:          case _PartU of
             {_Part, _U} ->
               io:format("Id: ~w Vars: ~w\n", [_Id, _U]),
               [?pp_map("Part", maps:from_list(_Part)) || _Part =/= []];
             failed ->
               io:format("Id: ~w failed list\n", [_Id])
           end
  
negative.code:   lists:umerge(Is, F).
  
  get_mask(V, Masks) ->
    case Masks of
      #{ V := M } -> M;
      #{} -> []
    end.
  
  get_flags(#v2_state{constr_data = ConData0}=V2State0, C) ->
    #constraint_list{id = Id, list = Cs, masks = Masks} = C,
    case ConData0 of
      #{ Id := {Part, U} } ->
        true = U =/= [],                          %Assertion.
        ?debug("get_flags Id=~w U=~w\n", [Id, U]),
        ConData = ConData0#{ Id => {Part, []}},
        V2State = V2State0#v2_state{constr_data = ConData},
        save_updated_vars_list(Cs, vars_per_child(U, Masks), V2State);
      #{ Id := failed } ->
        {V2State0, failed_list};
      #{} ->
        ?debug("get_flags Id=~w Flags=all ~w\n", [Id, length(Cs)]),
        ConData = ConData0#{ Id => {#{}, []}},
        V2State = V2State0#v2_state{constr_data = ConData},
        {V2State, [every_i]}
    end.
  
  vars_per_child(U, Masks) ->
  