Construct the free monoid over a setoid `s` by freely extending the free monoid over the empty setoid by the setoid `s`
record Parameters : Presentation -> Setoid -> TypeMkParameters : {0 Pres : Presentation} -> (Initial : Free Pres (cast Void)) -> Frex ((Initial .Data) .Model) s -> Parameters Pres s.FrexBy : {0 Pres : Presentation} -> ({rec:0} : Parameters Pres s) -> Frex (((Initial {rec:0}) .Data) .Model) s.Initial : {0 Pres : Presentation} -> Parameters Pres s -> Free Pres (cast Void).Initial : {0 Pres : Presentation} -> Parameters Pres s -> Free Pres (cast Void)Initial : {0 Pres : Presentation} -> Parameters Pres s -> Free Pres (cast Void).FrexBy : {0 Pres : Presentation} -> ({rec:0} : Parameters Pres s) -> Frex (((Initial {rec:0}) .Data) .Model) sFrexBy : {0 Pres : Presentation} -> ({rec:0} : Parameters Pres s) -> Frex (((Initial {rec:0}) .Data) .Model) s.toModelOver : {auto param : Parameters pres s} -> Extension (((param .Initial) .Data) .Model) s -> ModelOver pres s.OverVoid : Model pres -> ModelOver pres (cast Void).initiality : {auto param : Parameters pres s} -> (model : Model pres) -> ((param .Initial) .Data) .Model ~> model.homomorphism : a .Model ~> b -> a ~> b .OverVoid.toExtension : {auto param : Parameters pres s} -> ModelOver pres s -> Extension (((param .Initial) .Data) .Model) s.toExtensionMorphism : {auto param : Parameters pres s} -> mod1 .toModelOver ~> mod2 -> mod1 ~> mod2 .toExtensionFreeModelOver : Parameters pres s -> ModelOver pres sExtender : (param : Parameters pres s) -> ExtenderUniqueness : (param : Parameters pres s) -> UniquenessByFrex : (initial : Free pres (cast Void)) -> Frex ((initial .Data) .Model) s -> Free pres s