anchor.diff:  	    [] -> 'ASN1_OPEN_TYPE';
   	    _ -> {typefield,'Type'}
   	end,
  -    {ObjIdTag,C1TypeTag}=
  -	case S#state.erule of
  -	    ber ->
  -		{[{'UNIVERSAL',8}],
  -		 [#tag{class='UNIVERSAL',
  -		       number=6,
  -		       type='IMPLICIT',
  -		       form=0}]};
  -	    _ -> {[{'UNIVERSAL','INTEGER'}],[]}
  -	end,
  +    ObjIdTag = [{'UNIVERSAL',8}],
  +    C1TypeTag = [#tag{class='UNIVERSAL',
  +		      number=6,
  +		      type='IMPLICIT',
  +		      form=0}],
       TypeIdentifierRef=#'Externaltypereference'{module=ModuleName,
   					       type='TYPE-IDENTIFIER'},
       ObjectIdentifier =
  
positive.code: 	{fixedtypevaluefield,_,Type} -> get_taglist(S,Type);
  	{TypeFieldName,_} when is_atom(TypeFieldName) -> []%should check if allowed
      end;
  get_taglist(S,Def) ->
      case S#state.erule of
  	ber ->
  	    [];
  	_ ->
  	    case Def of
  		'ASN1_OPEN_TYPE' -> % open_type has no UNIVERSAL tag as such
  		    [];
  		_ ->
  		    [asn1ct_gen:def_to_tag(Def)]
  	    end
      end.
  
  get_taglist1(S,[#'ComponentType'{name=_Cname,tags=TagL}|Rest]) when is_list(TagL) -> 
      %% tag_list has been here , just return TagL and continue with next alternative
  
negative.code:     case get(instance_of) of
  	undefined ->
  	    AssociateSeq = iof_associated_type1(S,[]),
  	    Tag = [?TAG_CONSTRUCTED(?N_INSTANCE_OF)],
  	    TypeDef=#typedef{checked=true,
  			     name='INSTANCE OF',
  			     typespec=#type{tag=Tag,
  