let print_DIG (context: context) (out: out_channel) (problem: problem) : unit =
  let dig =
    get_dig context problem None
  in
  let dig =
    sort_digs dig
  in
    (* finally print the digs.
       parameters have no business here,
       so use the universal form of the literals *)

    List.iter
      (fun dig ->
         match dig.exceptions with
           | [] ->
               Print.output_line out
                 (Term.term_to_string
                    (Term.request_universal_term dig.term))
                 
           | _ ->
               Print.output_line out
                 (Term.term_to_string
                    (Term.request_universal_term dig.term)
                  ^ " -- exceptions: ");
               List.iter
                 (fun term ->
                    Print.output_line out
                      ("  " ^ Term.term_to_string
                         (Term.request_universal_term term));
                 )
                 dig.exceptions;
      )
      dig