fact: Fixpoint lazy_take {A : Type} (n : nat) (l : LazyList A) : LazyList A := match n with | 0 => lnil | S n' => match l with | lnil => lnil | lcons h ts => lcons h (fun _ => (lazy_take n' (ts tt))) end end.
imports: ExtLib.Structures(Functor Applicative) List QuickChick(Tactics)