anchor.diff:  \ lru ( b -- b r ) selects the least frequently referenced
   \ block cache row and returns it.
   t: lru ( b -- b r )
  -  -1 0 BEGIN DUP 64 < WHILE
  +  -1 0 BEGIN DUP #buffers < WHILE
       DUP >clk @ 0 = IF NIP EXIT THEN
       SWAP OVER >clk @ UMIN SWAP
       1+
     REPEAT DROP
  -  0 BEGIN DUP 64 < WHILE
  +  0 BEGIN DUP #buffers < WHILE
       2DUP >clk @ = IF NIP EXIT THEN
       1+
     REPEAT
  
positive.code: t: EMPTY-BUFFERS ( -- )
    0 lastblk !
    1 bclk !
    laundry @ 64 0 FILL
    blocks @ 64 CELLS 0 FILL
    clocks @ 64 CELLS 0 FILL ;
  
  \ clean ( r -- ) marks the indicated block buffer cache as
  \ "clean".
  
negative.code: \ internal cache.  If it's missing from the cache, return TRUE.
  \ Otherwise, return the cache row and FALSE.
  t: missing ( b -- b -1 / b r 0 )
    0 BEGIN DUP #buffers < WHILE
      2DUP CELLS blocks @ + @ = IF 0 EXIT THEN
      1+
    REPEAT DROP -1 ;
  