anchor.diff:                                             not member(I, DefinedStates) end,
                                      UsedStates),
               case MissingStates of
  -                [] -> C;
  +                [] -> C2;
                   _  -> exit({missing_states, MissingStates})
               end;
           _ ->
  
positive.code:             %% io:format("defined states=~p~n",[DefinedStates]),
              case duplicates(DefinedStates, []) of
                  [] -> true;
                  L2 -> exit({duplicated_states, L2})
              end,
              %% io:format("Transitions=~p~n",[Transitions]),
              UsedStates0 = [S||{_,Rules} <- Transitions,
  
negative.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, transitions=Trans},
      pass3(C, ImportTypes).
  
  require(Multiplicity, Tag, P) ->
      Vals =  [ Val || {T,Val} <- P, T == Tag],
  