fact: Definition bindEnum {A B : Type} (g : E A) (k : A -> E B) : E B := MkEnum (fun n => x <- run g n;; run (k x) n).
imports: ZArith List mathcomp.ssreflect.ssreflect mathcomp(ssrfun ssrbool ssrnat) Numbers.BinNums Classes.RelationClasses ExtLib.Structures(Functor Applicative) QuickChick(Sets Tactics Producer LazyList RandomQC)