public static function each($traversable, callable $fn) { self::invariant(is_array($traversable) || $traversable instanceof \Traversable, __METHOD__ . ' expects array or Traversable'); foreach ($traversable as $key => $item) { $fn($item, $key); } }