public static final function elementAt($repeatable, $position) : OptionalInterface { if (self::isRepeatable($repeatable)) { if (Arrays::isArray($repeatable)) { return Arrays::elementAt($repeatable, $position); } if (Traversables::isTraversable($repeatable)) { return Traversables::elementAt($repeatable, $position); } } throw new \InvalidArgumentException(self::$MSG_ARGUMENT1_NOT_REPATABLE); }