let print_context (context: context) (out: out_channel) : unit =
  Print.output_line out (Term.literal_to_string (Config.default_v context.config));

  let elements =
    Stack.fold (fun acc x -> x :: acc) [] context.context
  in
  let elements =
    List.sort
      (fun x y ->
        Term.compare_literals x.el_literal y.el_literal
      )
      elements
  in
  List.iter
    (fun element ->
      Print.output_line out (Term.literal_to_string element.el_literal);
    )
    elements