fact: Fixpoint show_product (first : bool) (r : list type) {struct r} : ProductResolve Show r -> (showM -> showM) -> (fold_right (fun (x : type) (acc : Type) => match x with | Self => showM | Inj t => t end -> acc) (showM) r).
imports: List String ExtLib.Structures.CoMonad ExtLib.Programming.Show ExtLib.Data.Monads.IdentityMonad ExtLib.Structures.Monads