> myarg <- "continuuos"
> arg_match0(myarg, c("discrete", "continuous"))
Error: `myarg` must be one of "discrete" or "continuous".
Did you mean "continuous"?

> myarg <- "fou"
> arg_match0(myarg, c("bar", "foo"))
Error: `myarg` must be one of "bar" or "foo".
Did you mean "foo"?

> myarg <- "fu"
> arg_match0(myarg, c("ba", "fo"))
Error: `myarg` must be one of "ba" or "fo".
Did you mean "fo"?


No suggestion when the edit distance is too large
=================================================

> myarg <- "foobaz"
> arg_match0(myarg, c("fooquxs", "discrete"))
Error: `myarg` must be one of "fooquxs" or "discrete".

> myarg <- "a"
> arg_match0(myarg, c("b", "c"))
Error: `myarg` must be one of "b" or "c".


Even with small possible typos, if there's a match it returns the match
=======================================================================

> myarg <- "bas"
> arg_match0(myarg, c("foo", "baz", "bas"))
[1] "bas"


arg_nm is honored
=================

> myarg <- "baq"
> arg_match0(myarg, c("foo", "baz", "bas"), arg_nm = "arg")
Error: `arg` must be one of "foo", "baz", or "bas".
Did you mean "baz"?


Corner case
===========

> arg_match0("", character())
Error: `values` must have at least one element.

