let pp_print_program ppf (p : program) = fprintf ppf "@[<v>%a@]@." (pp_print_list ~elem_pp:pp_print_declaration ~sep_pp:pp_print_sep_newline) p