anchor.diff:      gen_enc_line(Erule,TopType,Cname,Type,NextElement, Pos,DynamicEnc,Ext),
       emit({nl,"end"});
   gen_enc_component_optional(Erule,TopType,Cname,Type,Pos,DynamicEnc,Ext) ->
  -    Element = make_element(Pos+1,"Val1",Cname),
  +    Element = make_element(Pos+1,asn1ct_gen:mk_var(asn1ct_name:curr(val)),Cname),
       emit({"case ",Element," of",nl}),
   
       emit({"asn1_NOVALUE -> [];",nl}),
  
positive.code: 					components=_ExtGroupCompList}},
  			   Pos,DynamicEnc,Ext) when is_integer(Number) ->
  
      Element = make_element(Pos+1,"Val2",Cname),
      emit({"case ",Element," of",nl}),
  
      emit({"asn1_NOVALUE -> [];",nl}),
      asn1ct_name:new(tmpval),
      emit({{curr,tmpval}," ->",nl}),
      asn1ct_name:new(tmpval),
      InnerType = asn1ct_gen:get_inner(Type#type.def),
      emit({nl,"%% attribute number ",Pos," with type ",
  	      InnerType,nl}),
  
negative.code: 	Pos.
  
  gen_enc_component_default(Erule,TopType,Cname,Type,Pos,DynamicEnc,Ext,DefaultVal) ->
      Element = make_element(Pos+1,asn1ct_gen:mk_var(asn1ct_name:curr(val)),Cname),
      emit({"case ",Element," of",nl}),
  %    emit({"asn1_DEFAULT -> [];",nl}),
      emit({"DFLT when DFLT == asn1_DEFAULT; DFLT == ",{asis,DefaultVal}," -> [];",nl}),
  