let print_implem ?input_file:(_) ?output_file st =
              print output_file (fun o -> o#implem) st