 M: lazy-zip nil? ( lazy-zip -- bool )
     drop f ;
 
-M: lazy-zip list? ( object -- bool )
-  drop t ;
-
 TUPLE: sequence-cons index seq ;
 
 C: <sequence-cons> sequence-cons


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

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

: 1list ( obj -- cons )
    nil cons ;

  ] [
    drop f
  ] if ;

: lcartesian-product ( list1 list2 -- result )
  swap [ swap [ 2array ] lmap-with ] lmap-with lconcat ;
