anchor.diff:  		"element(1, ber_decode_nif(Data))";
   	    {#gen{erule=ber},true} ->
   		asn1ct_func:need({ber,ber_decode_nif,1}),
  -		emit(["{Data,Rest} = ber_decode_nif(Data0),",nl]),
  +		emit(["   {Data,Rest} = ber_decode_nif(Data0),",nl]),
   		"Data";
   	    {_,_} ->
   		"Data"
   	end,
  -    emit([case NoOkWrapper of
  -	      false -> "try";
  -	      true -> "case"
  -	  end, " decode_disp(Type, ",DecWrap,") of",nl]),
  +
  +    emit(["   decode_disp(Type, ",DecWrap,")",nl,"  end of",nl]),
       case Gen of
   	#gen{erule=ber} ->
  -	    emit(["  Result ->",nl]);
  +	    emit(["   Result ->",nl]);
   	#gen{erule=per} ->
  -	    emit(["  {Result,Rest} ->",nl])
  +	    emit(["   {Result,Rest} ->",nl])
       end,
       case ReturnRest of
   	false -> result_line(NoOkWrapper, ["Result"]);
  
positive.code:     end,
      case NoOkWrapper of
  	false ->
  	    emit([nl,try_catch(),nl,nl]);
  	true ->
  	    emit([nl,"end.",nl,nl])
      end,
  
      gen_decode_partial_incomplete(Gen),
      gen_partial_inc_dispatcher(Gen),
  
  
negative.code: pgen_dispatcher(Erules, []) ->
      gen_info_functions(Erules);
  pgen_dispatcher(Gen, Types) ->
      %% MODULE HEAD
      emit(["-export([encode/2,decode/2]).",nl,nl]),
      gen_info_functions(Gen),
  
  