function map(operation) {
    return function (collection) {
      if (arguments.length > 1) {
        collection = argsToList(arguments);
      }