it does not make sense to warn about a requirement for an array reference and then try to use an array reference anyway
hash randomization problem when mixing args with and w/o leading dash; will need to check _rearrange