functor (M : sig val element_name : string end-> TextConstruct