anchor.diff:  	{'ENUMERATED',CType,_} ->
   	    normalize_enumerated(S,Value,CType);
   	{'CHOICE',CType,NewNameList} ->
  -	    normalize_choice(S,Value,CType,NewNameList);
  +	    ChoiceComponents = get_choice_components(S, {'CHOICE',CType}),
  +	    normalize_choice(S,Value,ChoiceComponents,NewNameList);
   	{'SEQUENCE',CType,NewNameList} ->
   	    normalize_sequence(S,Value,CType,NewNameList);
   	{'SEQUENCE OF',CType,NewNameList} ->
  
positive.code:     {valueset,
       check_type(S,#typedef{pos=Pos,name=Name,typespec=NewType},NewType)};
  check_value(S, #valuedef{}=V) ->
      ?dbg("check_value, V: ~p~n",[V0]),
      case V of
  	#valuedef{checked=true} ->
  	    V;
  
negative.code: check_valuedef(#state{recordtopname=TopName}=S0, V0) ->
      #valuedef{name=Name,type=Vtype0,value=Value,module=ModName} = V0,
      V = V0#valuedef{checked=true},
      Vtype1 = expand_valuedef_type(Vtype0),
      Vtype = check_type(S0, #typedef{name=Name,typespec=Vtype1},Vtype1),
      Def = Vtype#type.def,
      S1 = S0#state{tname=Def},
      SVal = update_state(S1, ModName),
  