anchor.diff:  
       [ok,ok,ok] = scan(<<"rf('_'), rp(rp(rl(rf(rf(rf(rl())))))).">>),
   
  +    ok.
  +
  +%% Test of typed record support.
  +typed_records(Config) when is_list(Config) ->
  +    Test = filename:join(proplists:get_value(priv_dir, Config), "test.hrl"),
  +    Contents = <<"-module(test).
  +                  -record(r0,{f :: any()}).
  +                  -record(r1,{f1 :: #r1{} | undefined, f2 :: #r0{} | atom()}).
  +                  -record(r2,{f :: #r2{} | undefined}).
  +                 ">>,
  +    ok = file:write_file(Test, Contents),
  +
  +    RR1 = "rr(\"" ++ Test ++ "\"),
  +          #r1{} = (#r1{f1=#r1{f1=undefined, f2=x}, f2 = #r0{}})#r1.f1,
  +          ok.",
  +    RR2 = "rr(\"" ++ Test ++ "\"),
  +          #r0{} = (#r1{f1=#r1{f1=undefined, f2=x}, f2 = #r0{}})#r1.f2,
  +          ok. ",
  +    RR3 = "rr(\"" ++ Test ++ "\"),
  +          #r1{f2=#r0{}} = (#r1{f1=#r1{f1=undefined, f2=#r0{}}, f2 = x})#r1.f1,
  +          ok.",
  +    RR4 = "rr(\"" ++ Test ++ "\"),
  +          (#r1{f2 = #r0{}})#r1{f2 = x},
  +          ok. ",
  +    RR5 = "rr(\"" ++ Test ++ "\"),
  +          (#r1{f2 = #r0{}})#r1{f1 = #r1{}},
  +          ok. ",
  +    RR6 = "rr(\"" ++ Test ++ "\"),
  +           (#r2{f=#r2{f=undefined}})#r2.f,
  +          ok.",
  +    RR7 = "rr(\"" ++ Test ++ "\"),
  +           #r2{} = (#r2{f=#r2{f=undefined}})#r2.f,
  +          ok.",
  +    [ok] = scan(RR1),
  +    [ok] = scan(RR2),
  +    [ok] = scan(RR3),
  +    [ok] = scan(RR4),
  +    [ok] = scan(RR5),
  +    [ok] = scan(RR6),
  +    [ok] = scan(RR7),
  +
  +    file:delete(Test),
       ok.
   
   %% Known bugs.
  
positive.code:      {bits, [],
        [bs_match_misc_SUITE, bs_match_tail_SUITE,
         bs_match_bin_SUITE, bs_construct_SUITE]},
       {refman, [], [refman_bit_syntax]},
       {progex, [],
        [progex_bit_syntax, progex_records, progex_lc,
  
negative.code:      {timetrap,{minutes,10}}].
  
  all() -> 
      [forget, known_bugs, otp_5226, otp_5327,
       otp_5435, otp_5195, otp_5915, otp_5916, {group, bits},
       {group, refman}, {group, progex}, {group, tickets},
       {group, restricted}, {group, records}].
  
  groups() -> 
      [{restricted, [],
  