anchor.diff:  %%  test by checking the test and only adding one when we know the
   %%  test won't automatically return a boolean value.
   
  +comp_guard_test([quote,Bool], _, _, St) when is_boolean(Bool) ->
  +    {c_atom(Bool),St};                          %A small optimisation
   comp_guard_test([call,[quote,erlang],[quote,Op]|Args]=Test, Env, L, St) ->
       comp_guard_test_1(Test, Op, Args, Env, L, St);
   comp_guard_test([Op|Args]=Test, Env, L, St) ->
  -    comp_guard_test_1(Test, Op, Args, Env, L, St).
  +    comp_guard_test_1(Test, Op, Args, Env, L, St);
  +comp_guard_test(Symb, _, L, St) when is_atom(Symb) ->
  +    Ann = comp_gen_anno(L, St),
  +    {ann_c_call(Ann, c_atom(erlang), c_atom('=:='), [c_var(Symb),c_atom(true)]),
  +     St};
  +comp_guard_test(_, _, _, St) ->
  +    %% Everything else always will always fail.
  +    {c_atom(false),St}.
   
   comp_guard_test_1(Test, Op, Args, Env, L, St0) ->
       Ar = length(Args),
  
positive.code:             {Cb,St4} = comp_body(B, Env1, L, St3),
              {Cvs,St5} = new_c_vars(length(Ces), L, St4),
              Cf = let_fail(Cvs, L, St5),
              {ann_c_case([L], c_values(Ces),
                          [ann_c_clause([L], Cps, Cg, Cb),Cf]),
               St5}
      end.
  
negative.code:     {Ca,St3} = comp_body(After, Env, L, St2),
      Cb = ann_c_seq([L], Ca, Cv),
      {Evs,Ecs,St4} = try_after(After, Env, L, St3),
      Ann = line_file_anno(L, St4),
      {ann_c_try(Ann, Ce, [Cv], Cb, Evs, Ecs),St4};
  comp_try(E, Case, Catch, After, Env, L, St) ->
      %% Both catch and after - (try E [(case ...)] (catch ...) (after ...))
      %% The case where all options are given.
  