requires IO::Vec
merge