anchor.diff:      Imm = asn1ct_imm:per_dec_length(Constraint, true, is_aligned(Erule)),
       asn1ct_imm:dec_slim_cg(Imm, "Bytes").
   
  -gen_decode_sof_components(Erule, Name, Typename, SeqOrSetOf, Cont, NeedRest) ->
  +gen_decode_sof_components(Erule, Name, Typename, SeqOrSetOf, Cont) ->
       {ObjFun,ObjFun_Var} =
   	case Cont#type.tablecinf of
   	    [{objfun,_}|_R] ->
  
positive.code: 
  gen_decode_sof(Erules, Typename, SeqOrSetOf, #type{}=D) ->
      asn1ct_name:start(),
      do_gen_decode_sof(Erules, Typename, SeqOrSetOf, D, true),
      emit([".",nl,nl]).
  
  do_gen_decode_sof(Erules, Typename, SeqOrSetOf, D, NeedRest) ->
      {_SeqOrSetOf,ComponentType} = D#type.def,
      SizeConstraint = asn1ct_imm:effective_constraint(bitstring,
  						     D#type.constraint),
  
negative.code: 		""
  	end,
      {Num,Buf} = gen_decode_length(SizeConstraint, Erules),
      Key = erlang:md5(term_to_binary({Typename,SeqOrSetOf,ComponentType})),
      Gen = fun(_Fd, Name) ->
  		  gen_decode_sof_components(Erules, Name,
  					    Typename, SeqOrSetOf,
  					    ComponentType)
  	  end,
      F = asn1ct_func:call_gen("dec_components", Key, Gen),
      emit([",",nl,
  