let out_option ?default ?(metavar = "<dot|cnf|dimacs|cudf|table>") () =
    let corce = function
      |("cnf"|"dimacs"|"cudf"|"dot"|"table"as s -> s
      | _ -> raise Format
    in
    let error _ s = Printf.sprintf "%s format not supported" s in
    Opt.value_option metavar default corce error