/**
  * Applies a given functor to all entires of a given repeatable.
  *
  * @param array|\Traversable $repeatable
  *            The given repeatable.
  * @param UnaryFunktionInterface $functor
  *            The given functor.
  * @throws \InvalidArgumentException
  * @return array|\Traversable
  */
 public static final function map($repeatable, UnaryFunktionInterface $functor)
 {
     if (self::isRepeatable($repeatable)) {
         if (Arrays::isArray($repeatable)) {
             return Arrays::map($repeatable, $functor);
         }
         if (Traversables::isTraversable($repeatable)) {
             return Traversables::map($repeatable, $functor);
         }
     }
     throw new \InvalidArgumentException(self::$MSG_ARGUMENT1_NOT_REPATABLE);
 }