Use is_a?(Enumerable) for more robust array handling