functor (Ast : Sig.Ast->
  sig
    val print_interf : ?input_file:'-> ?output_file:'-> '-> 'd
    val print_implem : ?input_file:'-> ?output_file:'-> '-> 'd
  end