public static function isTraversable($value, $message = '') { if (!is_array($value) && !$value instanceof Traversable) { static::reportInvalidArgument(sprintf($message ?: 'Expected a traversable. Got: %s', static::typeToString($value))); } }