fact: Definition Foo_to_FooF (a b : Type) (x : Foo a b) : Fix (FooF a b) := fun r k => k r id (let fix go x := match x with | mkFoo a b => mkFooF _ _ _ a b | mkBar x y v => mkBarF _ _ _ x y (k r id (go v)) | mkBaz => mkBazF _ _ _ end in go x).
imports: Hask.Ltac Hask.Prelude Hask.Control.Applicative Hask.Control.Monad Hask.Control.Monad.Cont Hask.Control.Monad.State Hask.Data.Functor.Contravariant Hask.Data.Functor.Identity Hask.Data.Functor.Kan Hask.Data.Functor.Yoneda Hask.Control.Lens Coq.Classes.Morphisms Coq.Setoids.Setoid Coq.Init.Datatypes Coq.Relations.Relation_Definitions FunctionalExtensionality Hask.Data.Functor.Fix Hask.Control.Monad.Freer