anchor.diff:      {'ES:QUOTE', Value} ->
         translate_quote(Value);
       {'ES:SEQ', First, Next} ->
  -      translate_seq(First, Next, FEnv)
  +      translate_seq(First, Next, FEnv);
  +    {'ES:TRY', Expr, Var, Body, EVar, Handler, After} ->
  +      translate_try(Expr, Var, Body, EVar, Handler, After, FEnv)
     end.
   
   %% Variable references not bound in their top-level defun become ES:GLOVAR.
  
positive.code: translate_seq(First, Next, FEnv) ->
    cerl:c_seq(translate_expr(First, FEnv), translate_expr(Next, FEnv)).
  
  modinfo0_def(ModuleName) ->
    {modinfo0_fname(),
     cerl:c_fun([], cerl:c_call(cerl:c_atom('erlang'), cerl:c_atom('get_module_info'), [ModuleName]))}.
  
negative.code: 
  wildpat() ->
    cerl:c_var('_').
  
  newvar() ->
    %% Neither cerl, core_lint, nor core_pp reject negative numeric variable names,
    %% but the BEAM compiler throws syntax errors on .core files containing them.
    %% FIXME: check if this still is true
    cerl:c_var(erlang:unique_integer([positive])).
  