anchor.diff:  		       ({b_generate,L,P0,Qs}) -> %R12.
   			   {b_generate,L,expr(P0),expr(Qs)};
   		       (Expr) ->
  -			   case is_guard_test(Expr) of
  -			       true -> {guard,[[guard_test(Expr)]]};
  +			   case is_guard(Expr) of
  +			       true -> {guard,guard([[Expr]])};
   			       false -> expr(Expr)
   			   end
   		   end, Gs0),
  
positive.code: expr(Other) ->
      exit({?MODULE,{unknown_expr,Other}}).
  
  %% is_guard_test(Expression) -> true | false.
  %%  Test if a general expression is a guard test.  Cannot use erl_lint
  %%  here as sys_pre_expand has transformed source.
  
  is_guard_test({op,_,Op,L,R}) ->
      erl_internal:comp_op(Op, 2) andalso is_gexpr_list([L,R]);
  is_guard_test({call,_,{remote,_,{atom,_,erlang},{atom,_,Test}},As}) ->
      erl_internal:type_test(Test, length(As)) andalso is_gexpr_list(As);
  is_guard_test({atom,_,true}) -> true;
  is_guard_test(_) -> false.
  
  is_gexpr({var,_,_}) -> true;
  is_gexpr({atom,_,_}) -> true;
  
negative.code: 		       ({b_generate,L,P0,Qs}) -> %R12.
  			   {b_generate,L,expr(P0),expr(Qs)};
  		       (Expr) ->
  			   case is_guard(Expr) of
  			       true -> {guard,guard([[Expr]])};
  			       false -> expr(Expr)
  			   end
  		   end, Gs0),
  