Pairs ->
Arg Records : A|L : <T>,
    PairHandler : FPairHandler, RecordHandler : FRecordHandler = _

Prev, Next = . ..

Do get Record from Records
 Flag = 0 ..

 If Prev !! Next then
  Next = Record; Call RecordHandler Record
  Flag = 1
 ;

 If Flag !! Prev !& Next then
  Prev = Next = .
  Next = Record; Call RecordHandler Record
  Flag = 1
 ;

 If Flag !& Prev && Next then
  Z = Prev = Next = .; Call PairHandler Z Prev
  Next = Record; Call RecordHandler Record
  Flag = 1
 ;
;

If Prev && Next then
 Call PairHandler Prev Next
;

Return

FPairHandler = < T, T >
With <T>

FRecordHandler = < T > //
                 < ^&T >
With <T>