   ] [
     drop f
   ] if ;
-
-M: lazy-concat list? ( object -- bool )
-  drop t ;
 
 : lcartesian-product ( list1 list2 -- result )
   swap [ swap [ 2array ] lmap-with ] lmap-with lconcat ;

M: lazy-cons nil? ( lazy-cons -- bool )
    nil eq? ;

M: lazy-cons list? ( object -- bool )
  drop t ;

: 1lazy-list ( a -- lazy-cons )
  [ nil ] lazy-cons ;


M: lazy-append nil? ( lazy-append -- bool )
   drop f ;

TUPLE: lazy-from-by n quot ;

C: lfrom-by lazy-from-by ( n quot -- list )
