 
 M: cons nil? ( cons -- bool )
     nil eq? ;
-
-M: cons list? ( object -- bool )
-  drop t ;
 
 : 1list ( obj -- cons )
     nil cons ;

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

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

TUPLE: lazy-zip list1 list2 ;

C: <lazy-zip> lazy-zip


M: lazy-while nil? ( lazy-while -- bool )
   [ car ] keep lazy-while-quot call not ;

TUPLE: lazy-subset cons quot ;

