fact: Definition recD (T : Type) (c : Type -> Type) (v : variant) : Type := fold_right (fun x acc => fold_right (fun x acc => match x with | Inj t => t | Self => c T end -> acc) (c T) x -> acc) (M -> T) v.
imports: List String ExtLib.Structures.CoMonad