module type Basic_indexed = Basic_indexedmodule type Infix_indexed = Infix_indexedmodule type Syntax_indexed = Syntax_indexedmodule type S_without_syntax = S_without_syntaxmodule Make_indexed : functor (X : Basic_indexed) -> S_indexed with type (a, d, e) t := (a, d, e) X.t