fact: Definition indent (indent : showM) (v : showM) : showM := let nl := Ascii.ascii_of_nat 10 in fun _ inj mon => v _ (fun a => if eq_dec a nl then monoid_plus mon (inj a) (indent _ inj mon) else inj a) mon.
imports: Coq.Strings.String Coq.Program.Wf Coq.PArith.BinPos Coq.ZArith.ZArith ExtLib.Structures.Monoid ExtLib.Structures.Reducible ExtLib.Programming.Injection ExtLib.Data.Char ExtLib.Data.String ExtLib.Data.Fun ExtLib.Core.RelDec