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