functor (Ast : Ast->
  sig
    module type S =
      sig
        val print_interf :
          ?input_file:string ->
          ?output_file:string -> Camlp4.Sig.Ast.sig_item -> unit
        val print_implem :
          ?input_file:string ->
          ?output_file:string -> Camlp4.Sig.Ast.str_item -> unit
      end
  end