anchor.diff:  	 true -> Vd
         end || {V,F,L}=Vd <- Vdb, F < Min, L >= Min ].
   
  +%% is_in_guard() -> true|false.
  +
  +is_in_guard() ->
  +    get(guard_refc) > 0.
  
positive.code: expr(#k_return{anno=A,args=As}, I, _Vdb) ->
      #l{ke={return,atomic_list(As)},i=I,a=A#k.a}.
  
  %% call_op(Op) -> Op.
  %% bif_op(Op) -> Op.
  %% test_op(Op) -> Op.
  
negative.code:     Mdb = vdb_sub(I, I+1, Vdb),
      M = match(Kb, A#k.us, I+1, [], Mdb),
      #l{ke={guard_match,M,var_list(Rs)},i=I,vdb=use_vars(A#k.us, I+1, Mdb),a=A#k.a};
  expr(#k_try{}=Try, I, Vdb) ->
      case is_in_guard() of
  	false -> body_try(Try, I, Vdb);
  	true -> guard(Try, I, Vdb)
      end;
  expr(#k_try_enter{anno=A,arg=Ka,vars=Vs,body=Kb,evars=Evs,handler=Kh}, I, Vdb) ->
      %% Lock variables that are alive before the catch and used afterwards.
      %% Don't lock variables that are only used inside the try.
  