let solve ?tracer c =
  let env, pool = init() in
  let tracer = default ignore tracer in
    tracer (Init c);
    (* TEMPORARY integrer un occur check ici aussi *)
    solve tracer env pool c