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: 	Pos.
  
  gen_enc_component_default(Erule,TopType,Cname,Type,Pos,DynamicEnc,Ext,DefaultVal) ->
      Element = make_element(Pos+1,"Val1",Cname),
      emit({"case ",Element," of",nl}),
  %    emit({"asn1_DEFAULT -> [];",nl}),
      emit({"DFLT when DFLT == asn1_DEFAULT; DFLT == ",{asis,DefaultVal}," -> [];",nl}),
  
negative.code: 	    mkvlist(textual_order(to_encoding_order(CompList),asn1ct_name:all(term))),
  	    emit("},")
      end,
      emit({{curr,bytes},"}"}),
      emit({".",nl,nl}).
  
  textual_order([#'ComponentType'{textual_order=undefined}|_],TermList) ->
  