úÎ “ (c) 2015 Frerich RaabeBSD3frerich.raabe@gmail.com experimentalNoneTValues of the  type can be passed to € in order to customize the generated constructor functions. At this point, only the name of the function can be changed.WThe desired name for the smart constructor function. An empty string will make 6 derive the function name from the type by prepending make to the type name.wThe default smart constructor generation options; the smart constructor function will be named after the type, e.g. 1makeSmartCtor defaultOptions ''Foo [|const True|]defines a function makeFoo.The T function creates a smart constructor for the given type, using the given predicate.      smartconstructor-0.1.0.0SmartConstructorSmartCtorOptionsctorNamedefaultOptions makeSmartCtor maybeName makeFuncT typeConType tyVarNameconName