functor (Syntax : Sig.Syntax-> Sig.Printer(Syntax.Ast).S