A slight correction to brcontainer's polyfill, which prevents errors on a non-object in a non-blocking way, and also corrects the issue of the conditional checking "file_exists" instead of the correct "function_exists":if ( !function_exists( 'is_iterable' ) ){ function is_iterable( $obj ) { return is_array( $obj ) || ( is_object( $obj ) && ( $obj instanceof \Traversable ) ); }}The original answer would not have resolved correctly, because it was looking for a file instead of a function, and the provided method would error if given a non-iterable non-object value such as false.