Hashes are great for storing named data, but if you want more than one entry
for a name, you have to use a list of pairs.  Even then, this is really boring
to write:

  @values = (
    foo => undef,
    bar => undef,
    baz => undef,
    xyz => { ... },
  );

With Data::OptList, you can do this instead:

  Data::OptList::mkopt([
    qw(foo bar baz),
    xyz => { ... },
  ]);

This works by assuming that any defined scalar is a name and any reference
following a name is its value.
