* All functions should do the right then when called in a list or
  scalar context.
* All functions should do the right then when passed either a list or
  a scalar (see last item).
