anchor.diff:              %% io:format("defined states=~p~n",[DefinedStates]),
               case duplicates(DefinedStates, []) of
                   [] -> true;
  -                L2 -> exit({duplicated_states, L2})
  +                L3 -> exit({duplicated_states, L3})
               end,
               %% io:format("Transitions=~p~n",[Transitions]),
               UsedStates0 = [S||{_,Rules} <- Transitions,
  
positive.code:     Any = require(zero_or_one, anystate, P),
      Trans = require(many, transition, P),
  
      ImportTypes = lists:flatten([ [ begin {TDef, TTag} = Mod:contract_type(T), {T,TDef, TTag} end
                                      || T <- TL ] || {Mod, TL} <- Imports ]),
  
      C = #contract{name=Name, vsn=Vsn, anystate=Any,
                    types=Types++ImportTypes, transitions=Trans},
      pass3(C).
  
  require(Multiplicity, Tag, P) ->
      Vals =  [ Val || {T,Val} <- P, T == Tag],
  
negative.code:                                            not member(I, DefinedStates) end,
                                     UsedStates),
              case MissingStates of
                  [] -> C2;
                  _  -> exit({missing_states, MissingStates})
              end;
          _ ->
  