CLI argv parser using OptionParser strict mode.
@type parsed() :: %{ opts: keyword(), args: [String.t()], invalid: [{String.t(), term()}] }
@spec parse([String.t()]) :: parsed()