let str_list ?(default=Some []) ?(metavar = "STRLST") =
  let sep = "," in
  let coerce str = ExtString.String.nsplit str sep in
  fun () ->
    OptParse.Opt.value_option metavar default coerce
    (fun _ s -> Printf.sprintf "Invalid String '%s'" s)