anchor.diff:                   ok
            end(),
   
  -    both = fun(A) when A#r.a, A#r.b -> both 
  -           end(#r{a = true, b = true}),
  +    both = rec_call(fun(A) when A#r.a, A#r.b -> both end, #r{a = true, b = true}),
   
       ok = fun() ->
                    F = fun(A, B) when ((A#r1.a) orelse (B#r2.a)) 
  
positive.code:            (_) -> p
          end(#r1{a = 2}),
  
      3 = fun(A) when A#r1.a > 3, 
                      record(A, r1) -> 3
          end(#r1{a = 5}),
  
      ok = fun() ->
                   F = fun(A) when (A#r2.a =:= 1) orelse (A#r2.a) -> 2;
  
negative.code:                  4 = F(#r{a = #r1{}}),
                   ok
           end(),
      3 = rec_call(fun(A) when record(A#r1.a, r),
  			     (A#r1.a)#r.a > 3 -> 3
  		 end, #r1{a = #r{a = 4}}),
      7 = fun(A) when record(A#r3.a, r1) -> 7 end(#r3{}),
      [#r1{a = 2,b = 1}] = 
          fun() ->
  